Загрузка данных
REPORT="$HOME/Desktop/disk_audit_$(date +%Y%m%d_%H%M%S).txt"
{
echo "=== DISK AUDIT REPORT ==="
date
echo ""
echo "=== FREE SPACE ==="
df -h /
echo ""
echo "=== APFS SNAPSHOTS ==="
tmutil listlocalsnapshots / 2>&1
diskutil apfs listSnapshots / 2>&1
echo ""
echo "=== DATA VOLUME TOP ==="
sudo du -xhd 1 /System/Volumes/Data 2>&1 | sort -h
echo ""
echo "=== SYSTEM DATA: SYSTEM FOLDER TOP ==="
sudo du -xhd 1 /System/Volumes/Data/System 2>&1 | sort -h | tail -40
echo ""
echo "=== SYSTEM DATA: SYSTEM LIBRARY TOP ==="
sudo du -xhd 1 /System/Volumes/Data/System/Library 2>&1 | sort -h | tail -40
echo ""
echo "=== SYSTEM DATA: ASSETS TOP ==="
sudo du -xhd 1 /System/Volumes/Data/System/Library/AssetsV2 2>&1 | sort -h | tail -50
echo ""
echo "=== PRIVATE VAR TOP ==="
sudo du -xhd 1 /System/Volumes/Data/private/var 2>&1 | sort -h | tail -50
echo ""
echo "=== PRIVATE VAR ROOT TOP ==="
sudo du -xhd 2 /System/Volumes/Data/private/var/root 2>&1 | sort -h | tail -80
echo ""
echo "=== APPLICATIONS TOP ==="
sudo du -xhd 1 /Applications 2>&1 | sort -h | tail -60
echo ""
echo "=== USER APPLICATIONS TOP ==="
du -xhd 1 "$HOME/Applications" 2>&1 | sort -h
echo ""
echo "=== HOME TOP ==="
du -xhd 1 "$HOME" 2>&1 | sort -h | tail -50
echo ""
echo "=== USER LIBRARY TOP ==="
du -xhd 1 "$HOME/Library" 2>&1 | sort -h | tail -50
echo ""
echo "=== APPLICATION SUPPORT TOP ==="
du -xhd 1 "$HOME/Library/Application Support" 2>&1 | sort -h | tail -80
echo ""
echo "=== CONTAINERS TOP ==="
du -xhd 1 "$HOME/Library/Containers" 2>&1 | sort -h | tail -80
echo ""
echo "=== GROUP CONTAINERS TOP ==="
du -xhd 1 "$HOME/Library/Group Containers" 2>&1 | sort -h | tail -80
echo ""
echo "=== USER CACHES TOP ==="
du -xhd 1 "$HOME/Library/Caches" 2>&1 | sort -h | tail -60
echo ""
echo "=== DOWNLOADS TOP ==="
du -xhd 1 "$HOME/Downloads" 2>&1 | sort -h | tail -80
echo ""
echo "=== DOWNLOADS LARGE FILES ==="
find "$HOME/Downloads" -type f -size +50M -exec du -h {} + 2>/dev/null | sort -h | tail -100
echo ""
echo "=== DESKTOP TOP ==="
du -xhd 1 "$HOME/Desktop" 2>&1 | sort -h | tail -80
echo ""
echo "=== DOCUMENTS TOP ==="
du -xhd 1 "$HOME/Documents" 2>&1 | sort -h | tail -80
echo ""
echo "=== PICTURES TOP ==="
du -xhd 1 "$HOME/Pictures" 2>&1 | sort -h | tail -80
echo ""
echo "=== MOVIES TOP ==="
du -xhd 1 "$HOME/Movies" 2>&1 | sort -h | tail -80
echo ""
echo "=== MUSIC TOP ==="
du -xhd 1 "$HOME/Music" 2>&1 | sort -h | tail -80
echo ""
echo "=== MAIL SIZE ==="
du -sh "$HOME/Library/Mail" 2>&1
du -sh "$HOME/Library/Containers/com.apple.mail" 2>&1
du -sh "$HOME/Library/Group Containers/group.com.apple.mail" 2>&1
echo ""
echo "=== MAIL TOP FOLDERS ==="
du -xhd 2 "$HOME/Library/Mail" 2>&1 | sort -h | tail -80
echo ""
echo "=== MAIL ATTACHMENTS TOTAL ==="
find "$HOME/Library/Mail" -type d -name "Attachments" -print0 2>/dev/null | xargs -0 du -ch 2>/dev/null | tail -20
echo ""
echo "=== MAIL LARGE FILES ==="
find "$HOME/Library/Mail" "$HOME/Library/Containers/com.apple.mail" "$HOME/Library/Group Containers/group.com.apple.mail" \
-type f -size +20M -exec du -h {} + 2>/dev/null | sort -h | tail -100
echo ""
echo "=== OUTLOOK SIZE ==="
du -sh "$HOME/Library/Containers/com.microsoft.Outlook" 2>&1
du -sh "$HOME/Library/Group Containers/UBF8T346G9.Office/Outlook" 2>&1
echo ""
echo "=== OUTLOOK TOP ==="
du -xhd 3 "$HOME/Library/Group Containers/UBF8T346G9.Office/Outlook" 2>&1 | sort -h | tail -80
echo ""
echo "=== OUTLOOK LARGE FILES ==="
find "$HOME/Library/Group Containers/UBF8T346G9.Office/Outlook" "$HOME/Library/Containers/com.microsoft.Outlook" \
-type f -size +20M -exec du -h {} + 2>/dev/null | sort -h | tail -100
echo ""
echo "=== XCODE / DEVELOPER TOP ==="
du -xhd 1 "$HOME/Library/Developer" 2>&1 | sort -h
du -xhd 1 "$HOME/Library/Developer/Xcode" 2>&1 | sort -h
du -xhd 1 "$HOME/Library/Developer/CoreSimulator" 2>&1 | sort -h
echo ""
echo "=== SYSTEM-WIDE LIBRARY TOP ==="
sudo du -xhd 1 /System/Volumes/Data/Library 2>&1 | sort -h | tail -80
echo ""
echo "=== LARGE FILES IN HOME OVER 500MB ==="
find "$HOME" -type f -size +500M -exec du -h {} + 2>/dev/null | sort -h | tail -100
echo ""
echo "=== FINAL FREE SPACE ==="
df -h /
echo ""
} 2>&1 | tee "$REPORT"
echo "Report saved to:"
echo "$REPORT"