Files
local_machine/docs/disk_cleanup/scripts/scan-move-candidates.sh
2026-03-14 20:03:57 +03:00

49 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Сканирование кандидатов на перенос на внешний носитель (цель — освободить ~100 ГБ).
# Показывает крупные каталоги и опционально — не менявшиеся давно (редко используемые).
OUTPUT_MODE="${1:-size}" # size | old | both
DAYS_OLD="${2:-90}" # для old: не менявшиеся N дней
echo "=========================================="
echo " Кандидаты на перенос (освобождение ~100 ГБ)"
echo "=========================================="
echo ""
echo "=== Крупные каталоги в ~/code (топ по размеру) ==="
du -sh ~/code/* 2>/dev/null | sort -hr | head -20
echo ""
echo "=== Известные тяжёлые каталоги пользователя ==="
for path in \
"$HOME/code/legal" \
"$HOME/g.drive mikhevel" \
"$HOME/Library/Application Support/Telegram Desktop" \
"$HOME/code/methatron" \
"$HOME/code/repo-clean-secrets-workdir-20260303-192601" \
"$HOME/code/archive" \
"$HOME/code/backups" \
"$HOME/code/bots" \
"$HOME/code/sacred_songs" \
"$HOME/.gradle" \
"$HOME/Library/Android/sdk" \
"$HOME/.cursor" \
"$HOME/.vscode"; do
if [ -d "$path" ]; then
du -sh "$path" 2>/dev/null
fi
done
echo ""
if [ "$OUTPUT_MODE" = "old" ] || [ "$OUTPUT_MODE" = "both" ]; then
echo "=== Крупные каталоги в ~/code, не менявшиеся ${DAYS_OLD}+ дней (редко используемые) ==="
find ~/code -maxdepth 2 -type d -mtime +"$DAYS_OLD" -exec du -sh {} \; 2>/dev/null | sort -hr | head -15
echo ""
fi
echo "=== Свободное место на корневом разделе ==="
df -h / | tail -1
echo ""
echo "Цель: не менее 60 ГБ для Asahi Fedora, рекомендуется 80100 ГБ."
echo "Подробности: docs/disk_cleanup/MOVE_TO_EXTERNAL_100GB.md"