#!/bin/bash # Free Disk Space for Time Machine # This script helps identify and free up space on your Mac so Time Machine can work set -e echo "=== Mac Disk Space Analysis ===" echo "" # Check current disk usage echo "๐Ÿ“Š Current Disk Status:" df -h / | tail -1 | awk '{print " Total: " $2 " | Used: " $3 " (" $5 ") | Free: " $4}' echo "" # Check if disk is critically low FREE_SPACE=$(df / | tail -1 | awk '{print $4}') FREE_SPACE_GB=$(echo "scale=2; $FREE_SPACE / 1024 / 1024" | bc) if (( $(echo "$FREE_SPACE_GB < 5" | bc -l) )); then echo "โš ๏ธ WARNING: Disk has less than 5GB free. Time Machine requires free space to work!" echo "" fi echo "๐Ÿ” Analyzing Large Files and Folders:" echo "" # Check Downloads folder if [ -d ~/Downloads ]; then DOWNLOADS_SIZE=$(du -sh ~/Downloads 2>/dev/null | awk '{print $1}') echo " ๐Ÿ“ Downloads: $DOWNLOADS_SIZE" fi # Check Library Caches if [ -d ~/Library/Caches ]; then CACHES_SIZE=$(du -sh ~/Library/Caches 2>/dev/null | awk '{print $1}') echo " ๐Ÿ—‘๏ธ Library/Caches: $CACHES_SIZE (safe to clean)" fi # Check Trash if [ -d ~/.Trash ]; then TRASH_SIZE=$(du -sh ~/.Trash 2>/dev/null | awk '{print $1}') echo " ๐Ÿ—‘๏ธ Trash: $TRASH_SIZE" fi # Check local Time Machine snapshots echo "" echo "๐Ÿ“ธ Local Time Machine Snapshots:" SNAPSHOTS=$(tmutil listlocalsnapshots / 2>/dev/null | grep -v "Snapshots for disk" | grep -v "^$" | wc -l | tr -d ' ') if [ "$SNAPSHOTS" -gt 0 ]; then echo " Found $SNAPSHOTS local snapshot(s)" tmutil listlocalsnapshots / 2>/dev/null | grep -v "Snapshots for disk" | grep -v "^$" | sed 's/^/ - /' echo "" echo " ๐Ÿ’ก Tip: Local snapshots are automatically deleted when space is needed," echo " but you can delete them manually if needed." else echo " No local snapshots found" fi echo "" echo "๐Ÿ“‹ Top 10 Largest Files/Directories in Home:" du -h -d 1 ~ 2>/dev/null | sort -hr | head -10 | awk '{printf " %8s %s\n", $1, $2}' echo "" echo "=== Recommendations ===" echo "" echo "1. ๐Ÿ—‘๏ธ Empty Trash:" echo " rm -rf ~/.Trash/*" echo "" echo "2. ๐Ÿงน Clean System Caches (safe):" echo " rm -rf ~/Library/Caches/*" echo "" echo "3. ๐Ÿ“ Review Downloads folder (~/Downloads) - 19GB found" echo " Move large files to NAS or delete if not needed" echo "" echo "4. ๐Ÿ—‘๏ธ Delete old local snapshots (if needed):" echo " sudo tmutil deletelocalsnapshots " echo "" echo "5. ๐Ÿ’พ Use Storage Management:" echo " Apple Menu โ†’ About This Mac โ†’ Storage โ†’ Manage" echo " This tool can help identify and remove large files, old backups, etc." echo "" echo "6. ๐Ÿ“ฆ Check for large applications:" echo " Review Applications folder for unused apps" echo "" echo "=== Quick Clean Commands ===" echo "" echo "To clean caches (safe, will regenerate):" echo " rm -rf ~/Library/Caches/*" echo "" echo "To empty trash:" echo " rm -rf ~/.Trash/*" echo "" echo "To see what's taking up space:" echo " du -h -d 1 ~ | sort -hr | head -20" echo ""