Файл архива ещё не означает наличие backup

Скрипт может создать файл с правильным именем, но внутри окажется пустая папка, повреждённый архив или неполная база данных.

Резервная копия считается рабочей только после успешного тестового восстановления.

Проверьте размер

Сравнивайте размер нового архива с предыдущими. Резкое уменьшение может означать, что часть каталогов не попала в копию.

Резкий рост тоже требует проверки:

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

Размер является сигналом, но не доказывает целостность.

Проверка архива

Большинство архиваторов умеет проверить структуру без полного распаковывания.

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

Состав резервной копии

Убедитесь, что сохранены:

  • конфигурации;
  • плагины;
  • настройки плагинов;
  • права администраторов;
  • пользовательские карты;
  • systemd-службы;
  • скрипты запуска;
  • cron-задачи;
  • конфигурация firewall;
  • дамп базы;
  • важные веб-файлы.

Стандартные игровые файлы можно повторно загрузить через SteamCMD, но пользовательские данные восстановить без backup невозможно.

Дамп базы данных

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

Используйте штатный инструмент создания дампа. Затем проверьте, что файл содержит структуру и данные, а не только пустой заголовок.

Тестовое восстановление базы

Создайте временную базу с другим именем и импортируйте дамп.

Проверьте:

  • количество таблиц;
  • ключевые записи;
  • кодировку;
  • отсутствие ошибок;
  • пользователей;
  • статистику;
  • права;
  • историю наказаний.

После проверки временную базу можно удалить.

Тестовое распаковывание

Распакуйте архив в отдельную временную папку.

Не восстанавливайте его поверх рабочего сервера только ради теста. Это может заменить актуальные файлы старыми.

Сравните структуру каталогов и права.

Проверка запуска

Наиболее надёжный тест — запустить копию на временном VPS или отдельном экземпляре с другими портами.

Проверьте:

  • стартовую карту;
  • плагины;
  • базу;
  • RCON;
  • смену карты;
  • административные команды;
  • query-ответ.

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

Копия на том же диске не защищает от отказа VPS или удаления данных.

Храните хотя бы одну версию:

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

Шифрование

Если архив содержит пароли, токены и базу данных, защитите его шифрованием.

Ключ хранения не должен находиться только на том же VPS. Иначе после потери машины восстановить архив будет невозможно.

Политика хранения

Оставляйте несколько поколений. Последний архив может уже содержать повреждённые данные, которые появились до запуска backup.

Разумная схема включает:

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

Журнал проверки

Записывайте:

  • дату;
  • имя архива;
  • размер;
  • контрольную сумму;
  • результат теста;
  • место хранения;
  • сотрудника;
  • срок следующей проверки.

Итог

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

Проводите полноценное восстановление хотя бы периодически. Непроверенная копия создаёт ложное чувство безопасности.