https://github.com/ranjithdb/30daysofbash
https://github.com/ranjithdb/30daysofbash
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/ranjithdb/30daysofbash
- Owner: ranjithdb
- Created: 2024-10-06T17:49:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-04T15:22:16.000Z (over 1 year ago)
- Last Synced: 2024-11-04T16:24:46.384Z (over 1 year ago)
- Language: Shell
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 30daysofbash
Welcome 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.
## Table of Contents
1. [Day 1 - System Information](day1-systeminfo)
2. [Day 2 - Cron Job](day2-cronjob)
3. [Day 3 - Directory Backup](day3-dirbackup)
4. [Day 4 - File Backup](day4-filebackup)
5. [Day 5 - Package Installer](day5-packageinstall)
6. [Day 6 - Log Terminal Output](day6-logterminal)
7. [Day 7 - Auto-Update System](day7-autoupdate)
8. [Day 8 - Service Status Checker](day8-servicecheck)
9. [Day 9 - Integrity Checker](day9-integritycheck)
10. [Day 10 - Manage User Accounts](day10-manageuser)
11. [Day 11 - Disk Usage Monitor](day11-diskusage)
12. [Day 12 - Network Connectivity Checker](day12-networkcheck)
13. [Day 13 - Git Repository Cloner](day13-gitrepoclone)
14. [Day 14 - Firewall Log Checker](day14-firewalllog)
15. [Day 15 - System Health Logger](day15-systemhealthlog)
16. [Day 16 - Setup Development Environment](day16-setupenvironment)
17. [Day 17 - File Organizer](day17-fileorganizer)
18. [Day 18 - SSH Login History](day18-sshloginhistory)
19. [Day 19 - Cron Job Scheduler](day19-cronjobscheduler)
20. [Day 20 - Password Generator](day20-passwordgenerator)
21. [Day 21 - Log Analyzer](day21-loganalyzer)
22. [Day 22 - File Difference Checker](day22-filediffcheck)
23. [Day 23 - Markdown Note-taking](day23-markdownnotes)
24. [Day 24 - Email Alerts](day24-emailalerts)
25. [Day 25 - Directory Size Analyzer](day25-dirsizeanalyzer)
26. [Day 26 - Disk Cleaner](day26-diskcleaner)
27. [Day 27 - Website Blocker](day27-websiteblocker)
28. [Day 28 - Port Scanner](day28-portscanner)
29. [Day 29 - Web Page Downloader](day29-webpagedownload)
30. [Day 30 - Remote Deployment Tool](day30-remotedeployment)
---
### Day 1 - System Information
Displays system information such as hostname, OS details, uptime, and memory usage.
### Day 2 - Cron Job
A tool to add, list cron jobs.
### Day 3 - Directory Backup
Creates a backup of specified directories.
### Day 4 - File Backup
Backs up individual files.
### Day 5 - Package Installer
Installs software packages automatically.
### Day 6 - Log Terminal Output
Logs terminal session output to a file.
### Day 7 - Auto-Update System
Automatically updates the system packages.
### Day 8 - Service Status Checker
Checks and restarts essential services if they stop.
### Day 9 - Integrity Checker
Checks for file integrity using checksums.
### Day 10 - Manage User Accounts
Adds, modifies, and deletes users and groups.
### Day 11 - Disk Usage Monitor
Monitors disk usage and alerts when usage crosses a threshold.
### Day 12 - Network Connectivity Checker
Pings a list of servers and reports any unresponsive ones.
### Day 13 - Git Repository Cloner
Clones multiple repositories from a configuration file.
### Day 14 - Firewall Log Checker
Outputs current firewall rules and logs any changes.
### Day 15 - System Health Logger
Logs system health metrics like CPU, memory, disk, and network usage.
### Day 16 - Setup Development Environment
Installs programming languages and tools required for development.
### Day 17 - File Organizer
Organizes files into subdirectories based on file type.
### Day 18 - SSH Login History
Tracks and logs SSH login attempts.
### Day 19 - Cron Job Scheduler
Adds, lists, and removes cron jobs for automation.
### Day 20 - Password Generator
Generates random passwords based on specified criteria.
### Day 21 - Log Analyzer
Parses and extracts useful information from log files.
### Day 22 - File Difference Checker
Compares two files and highlights differences.
### Day 23 - Markdown Note-taking
Allows creating and managing Markdown notes from the command line.
### Day 24 - Email Alerts
Sends email alerts based on certain conditions, like low disk space.
### Day 25 - Directory Size Analyzer
Analyzes the size of directories and files within them.
### Day 26 - Disk Cleaner
Deletes temporary files and unused data to free up space.
### Day 27 - Website Blocker
Blocks access to specified websites by modifying the hosts file.
### Day 28 - Port Scanner
Scans open ports on a server for security analysis.
### Day 29 - Web Page Downloader
Downloads a webpage and its assets (e.g., CSS, images) locally.
### Day 30 - Remote Deployment Tool
Deploys an application to a remote server, automating file uploads and service restarts.
---
## How to Use
Each 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.