Чем опасен заполненный диск

При отсутствии свободного места сервер может потерять возможность:

  • записывать логи;
  • сохранять настройки;
  • обновляться;
  • создавать дамп базы;
  • загружать карты;
  • записывать статистику;
  • перезапускаться.

Проблема часто развивается постепенно и остаётся незаметной до критического момента.

Найдите крупные каталоги

Проверьте:

  • игровые логи;
  • CounterStrikeSharp;
  • логи плагинов;
  • резервные копии;
  • дампы базы;
  • пользовательские карты;
  • загрузки;
  • временные файлы;
  • журналы systemd;
  • кэш пакетов.

Не удаляйте файлы вслепую. Сначала определите их назначение.

Ротация логов

Настройте:

  • максимальный размер;
  • количество старых файлов;
  • сжатие;
  • срок хранения;
  • автоматическое удаление.

Отдельный плагин может создавать собственный журнал и не подчиняться общей системной ротации.

Резервные копии

Backup без политики удаления способен заполнить диск быстрее логов.

Используйте схему хранения:

  • несколько ежедневных;
  • несколько еженедельных;
  • несколько месячных;
  • отдельные архивы перед крупными изменениями.

Удаляйте архив только после подтверждения удалённой копии.

Дампы базы

Если каждый дамп получает новое имя и никогда не удаляется, каталог быстро растёт.

Проверяйте размер: резкое увеличение может указывать на бесконтрольный рост таблиц.

Удалённое хранение

Хотя бы одна копия должна находиться на другой машине. После успешной передачи локальные старые архивы можно очищать по политике.

Не удаляйте единственную копию сразу после загрузки, пока не проверена целостность удалённого файла.

Предупреждения

Настройте два уровня:

  • раннее предупреждение;
  • критический уровень.

Например, первое сообщение приходит при заметном снижении свободного места, а второе — при приближении к опасному порогу.

Inode

Диск может иметь свободные гигабайты, но не позволять создать новый файл из-за исчерпания inode.

Это происходит при огромном количестве мелких логов или временных файлов.

Автоматическая очистка

Автоматически удаляйте только точно определённые категории:

  • старые архивы по маске;
  • временные файлы;
  • устаревшие логи;
  • кэш.

Скрипт должен проверять путь и не выполнять опасное удаление при пустой переменной.

Проверка после очистки

Убедитесь, что:

  • сервер запускается;
  • база записывает данные;
  • логи создаются;
  • backup работает;
  • нужные карты сохранились;
  • права не изменились.

Итог

Защита диска состоит из ротации логов, политики хранения backup, контроля дампов и предупреждений.

Проверяйте не только свободный объём, но и inode. Автоматически удаляйте только заранее определённые безопасные файлы.