An open API service indexing awesome lists of open source software.

https://github.com/ranjithdb/30daysofbash


https://github.com/ranjithdb/30daysofbash

Last synced: about 1 year ago
JSON representation

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.