Initial commit: combine nas_tool, nas_webdav, sync-utils
This commit is contained in:
Executable
+96
@@ -0,0 +1,96 @@
|
||||
#!/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 <snapshot-date>"
|
||||
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 ""
|
||||
Reference in New Issue
Block a user