A comprehensive suite of Bash scripts for automating daily administrative tasks on Linux systems. This toolkit provides enterprise-grade automation for user management, backup verification, security auditing, log management, and system maintenance.
This toolkit provides a wide range of features to automate Linux system administration:
- User Management: Scripts for adding, deleting, and managing user accounts.
- Backup Management: Tools to initiate and verify system backups.
- Package Management: Automated checks for package updates and system upgrades.
- Process & Service Monitoring: Monitor critical system processes and services to ensure they are running correctly.
- System Health Checks: Perform regular health checks on the system's resources (CPU, memory, disk space).
- Security Auditing: Run daily security audits to identify potential vulnerabilities.
- Log Management: Automated log rotation, compression, and cleanup.
- Daily Administration Suite: A master script that runs all daily checks and tasks in a coordinated manner.
This guide will help you get started with the Linux Daily Administration Automation toolkit.
- Linux system (Ubuntu 18.04+, CentOS 7+, or similar)
- Bash 4.0 or higher
- Root or sudo privileges for system administration tasks
-
Clone the repository:
git clone https://github.com/lucchesi-sec/linux-automation.git cd linux-automation
-
Set Permissions: Make all scripts executable.
find . -name "*.sh" -exec chmod +x {} \;
-
Initialize Configuration: Copy the example configuration file. You will need to edit this file to match your environment.
sudo cp config/config.json.example config/config.json
To run the complete daily administration suite:
sudo ./scripts/administration/daily_admin_suite.sh
The most common use case is to run the entire suite of administrative scripts. This can be scheduled as a cron job to run daily.
sudo ./scripts/administration/daily_admin_suite.sh
You can also run individual scripts for specific tasks. For example, to run only the security audit:
sudo ./scripts/administration/daily_security_audit.sh
Or to perform disk cleanup:
sudo ./scripts/maintenance/disk_cleanup.sh
All scripts are configured through the central config/config.json
file. This file allows you to set parameters for logging, notifications, backup paths, and more.
For a detailed explanation of all configuration options, please see the Configuration Reference.
The project is organized into the following directories:
.
├── config/ # Configuration files
├── core/ # Core libraries for shared functionality
├── docs/ # Detailed documentation
├── modules/ # Individual automation modules
└── scripts/ # Executable scripts for administration and maintenance
For more detailed information, please refer to the full documentation in the docs
directory:
- Installation Guide
- Configuration Reference
- Module Documentation
- Usage Examples
- Troubleshooting Guide
Contributions are welcome! At present, we are working on establishing formal contribution guidelines.
This project is licensed under the MIT License.