Skip to content

lucchesi-sec/linux-automation

Repository files navigation

Linux icon

Linux Daily Administration Automation

Maintenance GitHub last commit GitHub issues GitHub forks GitHub stars Made with Bash License: MIT

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.

Table of Contents

✨ Features

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.

🚀 Getting Started

This guide will help you get started with the Linux Daily Administration Automation toolkit.

Prerequisites

  • Linux system (Ubuntu 18.04+, CentOS 7+, or similar)
  • Bash 4.0 or higher
  • Root or sudo privileges for system administration tasks

Installation

  1. Clone the repository:

    git clone https://github.com/lucchesi-sec/linux-automation.git
    cd linux-automation
  2. Set Permissions: Make all scripts executable.

    find . -name "*.sh" -exec chmod +x {} \;
  3. 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

Quick Start

To run the complete daily administration suite:

sudo ./scripts/administration/daily_admin_suite.sh

💻 Usage

Running the Full Suite

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

Running Individual Scripts

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

⚙️ Configuration

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.

📁 Project Structure

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

📚 Documentation

For more detailed information, please refer to the full documentation in the docs directory:

🤝 Contributing

Contributions are welcome! At present, we are working on establishing formal contribution guidelines.

📄 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages