mnemo_cards/tools/deploy/disk-cleanup-recommendations.md
2025-11-22 23:22:44 +03:00

9.6 KiB
Raw Blame History

Рекомендации по очистке дискового пространства на сервере

Дата анализа: $(date)
Текущее использование диска: 36GB из 40GB (90%)
Доступно: 4.2GB

Критичные находки (можно освободить ~18-20GB)

1. Docker неиспользуемые ресурсы ⚠️ ~12.2GB

Неиспользуемые Docker образы: 6.24GB (81% от всех образов)

  • code.mnemo-cards.online/cinnabarflower/cards/agent:latest - 4.29GB (не используется)
  • moby/buildkit:buildx-stable-1 - 227MB (не используется)
  • dart:stable - 787MB (не используется)
  • ghcr.io/cirruslabs/flutter:3.35.5 - 3.56GB (используется как базовый, но можно очистить старые версии)
  • node:16-bullseye - 940MB (не используется)

Неиспользуемые Docker volumes: 5.948GB (91% от всех volumes)

  • GITEA-ACTIONS-TASK-278_WORKFLOW-Build-Agent-Image_JOB-build-and-push - 1.103GB (старые CI/CD задачи)
  • GITEA-ACTIONS-TASK-278_WORKFLOW-Build-Agent-Image_JOB-build-and-push-env - 15.88MB
  • GITEA-ACTIONS-TASK-284_WORKFLOW-Build-Agent-Image_JOB-build-and-push - 1.103GB (старые CI/CD задачи)
  • GITEA-ACTIONS-TASK-284_WORKFLOW-Build-Agent-Image_JOB-build-and-push-env - 16.92MB
  • act-toolcache - 3.708GB (кэш инструментов для act)

Команды для очистки:

# Просмотр неиспользуемых ресурсов
docker system df

# Удаление неиспользуемых образов, контейнеров, сетей и volumes
docker system prune -a --volumes

# Или более безопасно - только неиспользуемые volumes
docker volume prune

# Удаление только неиспользуемых образов
docker image prune -a

⚠️ Внимание: Команда docker system prune -a --volumes удалит ВСЕ неиспользуемые ресурсы. Убедитесь, что не нужны старые образы для rollback.


2. Telegram Bot Backups ⚠️ 5.2GB

Расположение: /root/mnemo_cards_telegram_bot/backups

Рекомендация: Проверить содержимое и удалить старые backups, оставив только последние несколько.

Команда для проверки:

ls -lh /root/mnemo_cards_telegram_bot/backups
du -h /root/mnemo_cards_telegram_bot/backups/* | sort -hr

Команда для удаления (после проверки):

# Удалить backups старше 30 дней (пример)
find /root/mnemo_cards_telegram_bot/backups -type f -mtime +30 -delete

3. Docker Overlay2 ⚠️ 9.1GB

Расположение: /var/lib/docker/overlay2

Это хранилище Docker для слоев образов. После очистки неиспользуемых образов (пункт 1) размер должен уменьшиться.

Команда для очистки:

# Очистка произойдет автоматически после docker system prune
# Или вручную (осторожно!):
docker system prune -a --volumes

Средние находки (можно освободить ~1-2GB)

4. Кэш директории ~1GB

Root cache: /root/.cache - 751MB

  • act - 635MB (кэш для GitHub Actions локального запуска)
  • code-server - 117MB (кэш VSCode Server)

Pub cache: /root/.pub-cache - 663MB (кэш Dart пакетов)

System cache: /var/cache - 275MB

  • apt - 257MB (кэш пакетов apt)

Команды для очистки:

# Очистка apt кэша
apt-get clean
apt-get autoclean

# Очистка pub cache (можно пересобрать при необходимости)
rm -rf ~/.pub-cache/hosted/*

# Очистка act cache (если не используется)
rm -rf ~/.cache/act

# Очистка code-server cache (можно пересобрать)
rm -rf ~/.cache/code-server

⚠️ Внимание: После очистки кэша, при следующем использовании пакеты/инструменты будут загружены заново.


5. Старые Backup директории ~248MB

Расположение: /var/www/mnemo_cards.backup.*

Найдено: 8 backup директорий по ~31MB каждая (все от 25-26 октября 2025)

Список:

  • mnemo_cards.backup.20251025_141822 - 31MB
  • mnemo_cards.backup.20251025_141931 - 31MB
  • mnemo_cards.backup.20251025_154819 - 31MB
  • mnemo_cards.backup.20251025_211926 - 31MB
  • mnemo_cards.backup.20251025_234756 - 31MB
  • mnemo_cards.backup.20251026_000205 - 31MB
  • mnemo_cards.backup.20251026_003152 - 31MB
  • mnemo_cards.backup.20251026_014752 - 31MB

Рекомендация: Оставить только последний backup, остальные удалить.

Команда для удаления:

# Просмотр всех backups
ls -lh /var/www/mnemo_cards.backup.*

# Удалить все кроме последнего (самого нового)
cd /var/www
ls -t mnemo_cards.backup.* | tail -n +2 | xargs rm -rf

6. Логи ~760MB

Общий размер: /var/log - 760MB

Nginx логи: 39MB

  • access.log.1 - 23MB
  • access.log - 11MB (текущий)
  • error.log.1 - 2.3MB
  • error.log - 2.0MB (текущий)

Старые логи (30+ дней): 34 файла

Команды для очистки:

# Ротация nginx логов (оставить только последние 7 дней)
find /var/log/nginx -type f -name "*.log.*" -mtime +7 -delete

# Очистка старых логов (30+ дней)
find /var/log -type f -mtime +30 -delete

# Очистка старых сжатых логов
find /var/log -type f -name "*.gz" -mtime +30 -delete

# Настройка logrotate для автоматической ротации
# (проверить /etc/logrotate.d/nginx)

Малые находки (можно освободить ~50-100MB)

7. Старые системные логи

Команда для просмотра:

find /var/log -type f -mtime +30 -ls

Команда для удаления:

find /var/log -type f -mtime +30 -delete

Итоговая таблица рекомендаций

Категория Размер Приоритет Безопасность Команда
Docker неиспользуемые ресурсы ~12.2GB 🔴 Высокий Безопасно docker system prune -a --volumes
Telegram Bot Backups 5.2GB 🔴 Высокий ⚠️ Проверить find /root/mnemo_cards_telegram_bot/backups -mtime +30 -delete
Docker Overlay2 9.1GB 🟡 Средний После очистки Docker Автоматически после prune
Кэш (pub, apt, act) ~1GB 🟡 Средний Безопасно apt-get clean && rm -rf ~/.pub-cache/hosted/*
Старые backups ~248MB 🟡 Средний Безопасно Удалить все кроме последнего
Логи ~760MB 🟢 Низкий Безопасно find /var/log -mtime +30 -delete

Общий потенциал освобождения: ~18-20GB

Рекомендуемый порядок действий

  1. Сначала Docker (самый большой эффект):

    docker system df  # Проверить
    docker system prune -a --volumes  # Очистить
    
  2. Проверить Telegram Bot backups:

    ls -lh /root/mnemo_cards_telegram_bot/backups
    # Решить, какие удалить
    
  3. Очистить кэш:

    apt-get clean
    apt-get autoclean
    
  4. Удалить старые backups веб-приложения:

    cd /var/www
    ls -t mnemo_cards.backup.* | tail -n +2 | xargs rm -rf
    
  5. Очистить старые логи:

    find /var/log -type f -mtime +30 -delete
    

⚠️ ВАЖНЫЕ ПРЕДУПРЕЖДЕНИЯ

  1. НЕ удаляйте директории проекта:

    • /root/mnemo_cards_backend (464MB) - рабочий проект
    • /root/mnemo_cards_common (672KB) - рабочий проект
    • /root/mnemo_cards_common_backend (1.5MB) - рабочий проект
    • /var/www/mnemo_cards - текущее веб-приложение
  2. НЕ удаляйте данные проекта:

    • /root/mnemo_cards_backend/isar (236MB) - база данных
    • /root/mnemo_cards_backend/data (213MB) - данные приложения
  3. Перед удалением Docker ресурсов убедитесь, что не нужны старые образы для rollback.

  4. Перед удалением backups проверьте их содержимое и убедитесь, что текущая версия работает.

После очистки

После выполнения рекомендаций ожидаемое использование диска: ~16-18GB из 40GB (40-45%)

Это освободит ~18-20GB дискового пространства.