{"id":26436493,"url":"https://github.com/ranjithdb/30daysofbash","last_synced_at":"2025-03-18T08:17:28.204Z","repository":{"id":257873609,"uuid":"868565559","full_name":"ranjithdb/30daysofbash","owner":"ranjithdb","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-04T15:22:16.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-04T16:24:46.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ranjithdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-06T17:49:52.000Z","updated_at":"2024-11-04T15:22:20.000Z","dependencies_parsed_at":"2024-11-04T16:21:45.306Z","dependency_job_id":"99ecda7a-05c2-4286-bfe2-971cc6518a34","html_url":"https://github.com/ranjithdb/30daysofbash","commit_stats":null,"previous_names":["ranjithdb/30daysofbash"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjithdb%2F30daysofbash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjithdb%2F30daysofbash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjithdb%2F30daysofbash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ranjithdb%2F30daysofbash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ranjithdb","download_url":"https://codeload.github.com/ranjithdb/30daysofbash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244181361,"owners_count":20411605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-18T08:17:27.641Z","updated_at":"2025-03-18T08:17:28.195Z","avatar_url":"https://github.com/ranjithdb.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 30daysofbash\n\nWelcome to **30 Days of Bash**! This repository is a collection of Bash scripts created over the course of 30 days, each day focusing on a new task or system administration functionality. These scripts cover a wide range of topics, from system monitoring and file management to network security and automation.\n\n## Table of Contents\n\n1. [Day 1 - System Information](day1-systeminfo)\n2. [Day 2 - Cron Job](day2-cronjob)\n3. [Day 3 - Directory Backup](day3-dirbackup)\n4. [Day 4 - File Backup](day4-filebackup)\n5. [Day 5 - Package Installer](day5-packageinstall)\n6. [Day 6 - Log Terminal Output](day6-logterminal)\n7. [Day 7 - Auto-Update System](day7-autoupdate)\n8. [Day 8 - Service Status Checker](day8-servicecheck)\n9. [Day 9 - Integrity Checker](day9-integritycheck)\n10. [Day 10 - Manage User Accounts](day10-manageuser)\n11. [Day 11 - Disk Usage Monitor](day11-diskusage)\n12. [Day 12 - Network Connectivity Checker](day12-networkcheck)\n13. [Day 13 - Git Repository Cloner](day13-gitrepoclone)\n14. [Day 14 - Firewall Log Checker](day14-firewalllog)\n15. [Day 15 - System Health Logger](day15-systemhealthlog)\n16. [Day 16 - Setup Development Environment](day16-setupenvironment)\n17. [Day 17 - File Organizer](day17-fileorganizer)\n18. [Day 18 - SSH Login History](day18-sshloginhistory)\n19. [Day 19 - Cron Job Scheduler](day19-cronjobscheduler)\n20. [Day 20 - Password Generator](day20-passwordgenerator)\n21. [Day 21 - Log Analyzer](day21-loganalyzer)\n22. [Day 22 - File Difference Checker](day22-filediffcheck)\n23. [Day 23 - Markdown Note-taking](day23-markdownnotes)\n24. [Day 24 - Email Alerts](day24-emailalerts)\n25. [Day 25 - Directory Size Analyzer](day25-dirsizeanalyzer)\n26. [Day 26 - Disk Cleaner](day26-diskcleaner)\n27. [Day 27 - Website Blocker](day27-websiteblocker)\n28. [Day 28 - Port Scanner](day28-portscanner)\n29. [Day 29 - Web Page Downloader](day29-webpagedownload)\n30. [Day 30 - Remote Deployment Tool](day30-remotedeployment)\n\n\n---\n\n### Day 1 - System Information\nDisplays system information such as hostname, OS details, uptime, and memory usage.\n\n### Day 2 - Cron Job\nA tool to add, list cron jobs.\n\n### Day 3 - Directory Backup\nCreates a backup of specified directories.\n\n### Day 4 - File Backup\nBacks up individual files.\n\n### Day 5 - Package Installer\nInstalls software packages automatically.\n\n### Day 6 - Log Terminal Output\nLogs terminal session output to a file.\n\n### Day 7 - Auto-Update System\nAutomatically updates the system packages.\n\n### Day 8 - Service Status Checker\nChecks and restarts essential services if they stop.\n\n### Day 9 - Integrity Checker\nChecks for file integrity using checksums.\n\n### Day 10 - Manage User Accounts\nAdds, modifies, and deletes users and groups.\n\n### Day 11 - Disk Usage Monitor\nMonitors disk usage and alerts when usage crosses a threshold.\n\n### Day 12 - Network Connectivity Checker\nPings a list of servers and reports any unresponsive ones.\n\n### Day 13 - Git Repository Cloner\nClones multiple repositories from a configuration file.\n\n### Day 14 - Firewall Log Checker\nOutputs current firewall rules and logs any changes.\n\n### Day 15 - System Health Logger\nLogs system health metrics like CPU, memory, disk, and network usage.\n\n### Day 16 - Setup Development Environment\nInstalls programming languages and tools required for development.\n\n### Day 17 - File Organizer\nOrganizes files into subdirectories based on file type.\n\n### Day 18 - SSH Login History\nTracks and logs SSH login attempts.\n\n### Day 19 - Cron Job Scheduler\nAdds, lists, and removes cron jobs for automation.\n\n### Day 20 - Password Generator\nGenerates random passwords based on specified criteria.\n\n### Day 21 - Log Analyzer\nParses and extracts useful information from log files.\n\n### Day 22 - File Difference Checker\nCompares two files and highlights differences.\n\n### Day 23 - Markdown Note-taking\nAllows creating and managing Markdown notes from the command line.\n\n### Day 24 - Email Alerts\nSends email alerts based on certain conditions, like low disk space.\n\n### Day 25 - Directory Size Analyzer\nAnalyzes the size of directories and files within them.\n\n### Day 26 - Disk Cleaner\nDeletes temporary files and unused data to free up space.\n\n### Day 27 - Website Blocker\nBlocks access to specified websites by modifying the hosts file.\n\n### Day 28 - Port Scanner\nScans open ports on a server for security analysis.\n\n### Day 29 - Web Page Downloader\nDownloads a webpage and its assets (e.g., CSS, images) locally.\n\n### Day 30 - Remote Deployment Tool\nDeploys an application to a remote server, automating file uploads and service restarts.\n\n---\n\n## How to Use\n\nEach script is designed to be run from the command line. Some scripts may require `sudo` permissions, particularly those that modify system files, manage services, or install packages. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franjithdb%2F30daysofbash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Franjithdb%2F30daysofbash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Franjithdb%2F30daysofbash/lists"}