A professional-grade toolkit for Linux system administrators, featuring robust Bash CLI scripts to automate core user management, system maintenance, backups, updates, firewall management, and system monitoring.
This toolkit demonstrates real-world Linux system administration tasks automated through modular, production-ready Bash scripting β with error handling, help menus, colorful outputs, and logging included.
Each script is designed for operational efficiency, clean terminal UX, and secure system management practices.
| Script | Purpose |
|---|---|
create_user.sh |
Add a new user, set initial password, and force password change on first login |
remove_user.sh |
Safely delete a user and archive their home directory |
backup_system.sh |
Create compressed full system backups with timestamps |
update_and_patch.sh |
Fully update and upgrade the system with logging |
log_cleaner.sh |
Rotate and archive old system logs automatically |
show_system_info.sh |
Display system uptime, CPU load, disk usage, and memory usage |
firewall_manager.sh |
Open or close firewall ports easily (optional bonus script) |
- Professional CLI design with banners and colorful output
- Full
--helpmenus for every script - Graceful error handling
- Real-time system and user lifecycle management
- Logging of critical operations
- Timestamped backups and archival
- Firewall port management
- Modular and clean Bash scripting
- Linux-friendly and production-grade
bash-admin-toolkit/
βββ scripts/
β βββ create_user.sh
β βββ remove_user.sh
β βββ backup_system.sh
β βββ update_and_patch.sh
β βββ log_cleaner.sh
β βββ show_system_info.sh
β βββ firewall_manager.sh
βββ demos/
β βββ create_user_demo.gif
β βββ backup_demo.gif
β βββ patch_demo.gif
β βββ log_cleaner_demo.gif
β βββ show_system_info_demo.gif
β βββ firewall_manager_demo.gif
βββ README.md
| Script | Demo |
|---|---|
| Create User | ![]() |
| System Backup | ![]() |
| System Update & Patch | ![]() |
| Log Cleaner | ![]() |
| Show System Info | ![]() |
| Firewall Manager | ![]() |
# Create a new user
sudo ./scripts/create_user.sh -u devops_admin -p Welcome123!
# Remove a user safely
sudo ./scripts/remove_user.sh -u olduser
# Backup critical system folders
sudo ./scripts/backup_system.sh
# Update and patch the system
sudo ./scripts/update_and_patch.sh
# Clean up old logs
sudo ./scripts/log_cleaner.sh
# Show system stats
./scripts/show_system_info.sh
# Open firewall port 443
sudo ./scripts/firewall_manager.sh --open 443- Bash 4.0+
- Linux OS (Debian/Ubuntu preferred)
- Root permissions for most scripts
ufwinstalled for firewall management (optional)
- Real-world automation of Linux system administration tasks
- Writing modular, maintainable Bash scripts
- Building user-friendly CLI interfaces
- Managing Linux system users, backups, logs, firewalls
- Logging operational tasks securely
- Clone this repo:
git clone https://github.com/your-username/bash-admin-toolkit.git
- Move into the project:
cd bash-admin-toolkit - (On Linux) Make all scripts executable:
chmod +x scripts/*.sh - Run any script (most require
sudo):sudo ./scripts/create_user.sh --help
- Add an interactive menu-based launcher script
- Add system health checks before backups
- Extend support to CentOS/RHEL systems (
yum,dnf) - Build a web dashboard to manage scripts remotely
πͺ This project proves the ability to design, automate, and maintain core Linux administration workflows through modular Bash scripting, improving operational efficiency, system reliability, and security.





