# Disk Space Report Script A comprehensive disk space analysis tool for Ubuntu/Linux systems that helps identify storage usage patterns and suggests cleanup opportunities. ## Features - **APT Cache Analysis**: Estimates size of package cache that can be cleared - **Package Management**: Identifies old installed packages taking up space - **Journal Log Analysis**: Checks system journal logs for cleanup opportunities - **Temporary Files Check**: Analyzes temporary directories for cleanup - **Docker Volume Analysis**: Identifies unused Docker volumes consuming space - **Docker Log Management**: Finds large Docker log files and suggests rotation - **Large Directory Discovery**: Lists directories consuming significant space - **Automatic Report Upload**: Uploads results to Hastebin for easy sharing ## Requirements - Ubuntu/Linux system - `sudo` privileges for comprehensive analysis - `docker` (optional, for Docker-related analysis) - `jq` for JSON parsing (for Hastebin upload) - `curl` for report uploading ## Installation ```bash # Clone the repository git clone https://github.com/yourusername/disk-space-report.git cd disk-space-report # Make the script executable chmod +x disk-check.sh ``` ## Usage ```bash ./disk-check.sh ``` The script will: 1. Analyze various system components for space usage 2. Generate a comprehensive report 3. Save the report to `/tmp/disk_space_report.log` 4. Upload the report to Hastebin and provide a shareable URL ## What It Analyzes ### System Components - **APT Cache** (`/var/cache/apt`): Downloaded package files - **Package Lists** (`/var/lib/apt/lists`): Package index files - **Journal Logs**: System logging data - **Temporary Files** (`/tmp`, `/var/tmp`): Temporary system files ### Docker Components (if Docker is installed) - **Unused Volumes**: Dangling Docker volumes - **Large Log Files**: Docker container logs over 1GB ### Directory Analysis - **Large Directories**: Directories consuming more than 5GB and 10GB - **Home Directory Analysis**: Large directories in user home folders ## Sample Output The script provides estimates like: ``` Estimating the size of the apt cache: 1.2G /var/cache/apt Estimating the size of journal logs: Archived and active journals take up 2.1G in the file system. Directories in / consuming more than 5GB: 7.2G /var/lib/docker 12G /usr/share ``` ## Cleanup Suggestions Based on the analysis, you can: 1. **Clear APT cache**: `sudo apt clean` 2. **Remove old packages**: `sudo apt autoremove` 3. **Clean journal logs**: `sudo journalctl --vacuum-time=30d` 4. **Clear temporary files**: `sudo rm -rf /tmp/*` (use with caution) 5. **Remove unused Docker volumes**: `docker volume prune` 6. **Truncate Docker logs**: Use the provided command in the script output ## macOS Version For macOS users, there's also a `disk-check-macos.sh` version that provides similar functionality adapted for macOS systems. ## Safety Notes - This script only **analyzes** disk usage - it doesn't delete anything - Always review suggested cleanup commands before running them - Some cleanup operations cannot be undone - The script requires `sudo` for comprehensive system analysis ## Contributing Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests. ## License This project is licensed under the MIT License.