Загрузка данных


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"