Initial commit: combine nas_tool, nas_webdav, sync-utils

This commit is contained in:
Gan, Jimmy
2026-02-18 22:59:43 +08:00
commit 526c6a5521
77 changed files with 7898 additions and 0 deletions
+129
View File
@@ -0,0 +1,129 @@
#!/bin/bash
# Find What's in System Data (351GB)
# System Data includes snapshots, caches, logs, VM files, etc.
set -e
echo "=== Find System Data Usage (351GB) ==="
echo ""
echo "System Data on macOS includes:"
echo " - APFS snapshots"
echo " - Time Machine local snapshots"
echo " - Virtual memory swap files"
echo " - System caches"
echo " - Log files"
echo " - Purgeable space"
echo ""
TOTAL_FOUND=0
echo "🔍 Checking System Data Components:"
echo ""
# 1. Check APFS snapshots
echo "1. APFS Snapshots:"
APFS_SNAPS=$(diskutil apfs listSnapshots / 2>/dev/null | grep -c "Name:" || echo "0")
echo " Found: $APFS_SNAPS snapshot(s)"
if [ "$APFS_SNAPS" -gt 0 ]; then
diskutil apfs listSnapshots / 2>/dev/null | grep -E "Name|Purgeable" | head -4 | sed 's/^/ /'
fi
echo ""
# 2. Check Time Machine local snapshots
echo "2. Time Machine Local Snapshots:"
TM_SNAPS=$(tmutil listlocalsnapshots / 2>/dev/null | grep -v "Snapshots for disk" | grep -v "^$" | wc -l | tr -d ' ')
echo " Found: $TM_SNAPS snapshot(s)"
if [ "$TM_SNAPS" -gt 0 ]; then
tmutil listlocalsnapshots / 2>/dev/null | grep -v "Snapshots for disk" | grep -v "^$" | sed 's/^/ - /'
fi
echo ""
# 3. Check virtual memory (swap files)
echo "3. Virtual Memory (Swap Files):"
VM_SIZE=$(sudo du -sh /private/var/vm 2>/dev/null | awk '{print $1}' || echo "0")
echo " /private/var/vm: $VM_SIZE"
echo ""
# 4. Check system caches
echo "4. System Caches:"
CACHE_SIZE=$(sudo du -sh /private/var/folders 2>/dev/null | awk '{print $1}' || echo "0")
echo " /private/var/folders: $CACHE_SIZE"
echo ""
# 5. Check logs
echo "5. System Logs:"
LOG_SIZE=$(sudo du -sh /Library/Logs /private/var/log 2>/dev/null 2>/dev/null | awk '{sum+=$1} END {print sum}' || echo "0")
echo " Logs: ~$LOG_SIZE"
echo ""
# 6. Check MobileBackups
echo "6. MobileBackups (APFS Local Snapshots):"
MB_SIZE=$(sudo du -sh /System/Volumes/Data/.MobileBackups /.MobileBackups 2>/dev/null | awk '{sum+=$1} END {print sum}' || echo "0")
if [ "$MB_SIZE" != "0" ] && [ -n "$MB_SIZE" ]; then
echo " MobileBackups: $MB_SIZE"
else
echo " MobileBackups: Not found or empty"
fi
echo ""
# 7. Check /private/var
echo "7. /private/var (System Data):"
PVAR_SIZE=$(sudo du -sh /System/Volumes/Data/private/var 2>/dev/null | awk '{print $1}' || echo "0")
echo " /private/var: $PVAR_SIZE"
echo ""
# 8. Check for sparse bundles
echo "8. Sparse Bundles (Disk Images):"
SPARSE_COUNT=$(sudo find /System/Volumes/Data -maxdepth 3 -name "*.sparsebundle" -o -name "*.sparseimage" 2>/dev/null | wc -l | tr -d ' ')
echo " Found: $SPARSE_COUNT sparse bundle(s)"
if [ "$SPARSE_COUNT" -gt 0 ]; then
sudo find /System/Volumes/Data -maxdepth 3 -name "*.sparsebundle" -o -name "*.sparseimage" 2>/dev/null | head -5 | while read bundle; do
SIZE=$(sudo du -sh "$bundle" 2>/dev/null | awk '{print $1}')
echo " - $bundle ($SIZE)"
done
fi
echo ""
# 9. Check Library
echo "9. System Library:"
LIB_SIZE=$(sudo du -sh /System/Volumes/Data/Library 2>/dev/null | awk '{print $1}' || echo "0")
echo " /Library: $LIB_SIZE"
echo ""
echo "=== Summary ==="
echo ""
echo "System Data is 351GB. The components above may not add up to 351GB"
echo "because System Data also includes:"
echo " - Purgeable space (not shown in du)"
echo " - APFS snapshot overhead"
echo " - Reserved space"
echo " - Other system files"
echo ""
echo "🔧 To Reduce System Data:"
echo ""
echo "1. Delete Time Machine local snapshots:"
if [ "$TM_SNAPS" -gt 0 ]; then
echo " sudo tmutil deletelocalsnapshots <date>"
else
echo " (No snapshots found)"
fi
echo ""
echo "2. Thin local snapshots:"
echo " sudo tmutil thinlocalsnapshots / 1000000000 1"
echo ""
echo "3. Remove Time Machine destination (prevents new snapshots):"
echo " System Settings → Time Machine → Remove backup disk"
echo ""
echo "4. Clean system caches:"
echo " sudo rm -rf /private/var/folders/*"
echo " (⚠️ Be careful - this may affect running apps)"
echo ""
echo "5. Restart your Mac:"
echo " This often releases purgeable space and snapshots"
echo ""