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

252 lines
9.6 KiB
Markdown
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.

# Рекомендации по очистке дискового пространства на сервере
**Дата анализа:** $(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)
**Команды для очистки:**
```bash
# Просмотр неиспользуемых ресурсов
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, оставив только последние несколько.
**Команда для проверки:**
```bash
ls -lh /root/mnemo_cards_telegram_bot/backups
du -h /root/mnemo_cards_telegram_bot/backups/* | sort -hr
```
**Команда для удаления (после проверки):**
```bash
# Удалить 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) размер должен уменьшиться.
**Команда для очистки:**
```bash
# Очистка произойдет автоматически после 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)
**Команды для очистки:**
```bash
# Очистка 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, остальные удалить.
**Команда для удаления:**
```bash
# Просмотр всех 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 файла
**Команды для очистки:**
```bash
# Ротация 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. Старые системные логи
**Команда для просмотра:**
```bash
find /var/log -type f -mtime +30 -ls
```
**Команда для удаления:**
```bash
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** (самый большой эффект):
```bash
docker system df # Проверить
docker system prune -a --volumes # Очистить
```
2. **Проверить Telegram Bot backups**:
```bash
ls -lh /root/mnemo_cards_telegram_bot/backups
# Решить, какие удалить
```
3. **Очистить кэш**:
```bash
apt-get clean
apt-get autoclean
```
4. **Удалить старые backups веб-приложения**:
```bash
cd /var/www
ls -t mnemo_cards.backup.* | tail -n +2 | xargs rm -rf
```
5. **Очистить старые логи**:
```bash
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** дискового пространства.