Проверка настроек исключений/игнора и риска переполнения диска (2026-02-15)
Цель: Убедиться, что ни один файл или настройка исключений не приводит к быстрому переполнению /storage (например, из‑за пропуска очистки или избыточного копирования).
1. Скрипт очистки снимков LXD (cleanup-lxd-snapshots.sh)
Файла игнора нет. Скрипт использует явные списки контейнеров:
- CRITICAL_CONTAINERS — очищаются с лимитом 20 снимков.
- NORMAL_CONTAINERS — очищаются с лимитом 5 снимков (по умолчанию, можно переопределить через NORMAL_MAX).
Вывод: Контейнеры не задаются через отдельный «файл игнора». Все перечисленные некритичные контейнеры участвуют в очистке. Неправильной настройки, из‑за которой очистка пропускала бы часть контейнеров и приводила к переполнению, не обнаружено. Лимит для некритичных снижен до 5 снимков.
2. Монитор диска (disk-space-monitor.sh) и аварийная очистка (disk-space-emergency-cleanup.sh)
Файлов исключений/игнора нет. Проверяемые разделы заданы в коде:
- Корень /, раздел /storage, раздел /D.
- Для /storage при WARNING/CRITICAL/EMERGENCY вызываются профилактическая/агрессивная/аварийная очистка (Docker prune и вызов cleanup-lxd-snapshots.sh от пользователя cdto).
Вывод: Раздел /storage не исключён из проверки и очистки. Настройки не способствуют переполнению.
3. Полный бэкап (backup-full-server.sh)
Используется временный список исключений для rsync (создаётся через mktemp, не отдельный постоянный файл). В него входят в том числе:
- /D/backups/*, /D/timeshift/*
- /var/lib/docker/*, /var/lib/lxd/*
- /storage/lxd/*, /storage/docker/*
Вывод: Исключение /storage из полного бэкапа корректно: объёмные данные LXD/Docker не копируются в полный бэкап на /D, что экономит место на /D и не увеличивает использование /storage. К переполнению /storage эта настройка не ведёт.
4. .gitignore и .cursorignore
- .gitignore — влияет только на Git (какие файлы не коммитить). На заполнение диска на сервере не влияет.
- .cursorignore — влияет на индексацию/поиск в Cursor. На работу скриптов очистки и мониторинга диска на сервере не влияет.
Вывод: К переполнению диска эти файлы не приводят.
5. Итог и рекомендации
| Проверка | Результат |
|---|---|
| Файл игнора для очистки снимков LXD | Отдельного файла нет; список контейнеров задан в скрипте. Ошибки в настройке исключений не найдены. |
| Исключение /storage из мониторинга/очистки | /storage в мониторе и в аварийной очистке учтён, не исключён. |
| Исключения в полном бэкапе | /storage исключён из копирования в полный бэкап — правильно, не ведёт к переполнению. |
| .gitignore / .cursorignore | На серверное использование диска не влияют. |
Рекомендации:
1. Лимит для некритичных контейнеров в скрипте и в политике установлен в 5 снимков — соблюдать и при необходимости проверять по lxc list.
2. При добавлении новых контейнеров в LXD при необходимости добавлять их в NORMAL_CONTAINERS или CRITICAL_CONTAINERS в cleanup-lxd-snapshots.sh, чтобы они участвовали в ротации снимков.
3. Не вводить отдельный «файл игнора» для очистки снимков без явной необходимости; при введении — документировать и проверять, что из списка не исключены контейнеры, активно создающие снимки на /storage.
Документ подготовлен: AI Denkart, технический директор.