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
--help
menus 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
ufw
installed 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.