ИТ
Фабрика
← Все статьи4 октября 2026 г.

Бэкап, который ни разу не восстанавливали, не считается бэкапом: как мы это проверили

Резервную копию проверяют одним способом: восстанавливают её в чистую базу и сверяют данные. Если восстановления не было, копия остаётся предположением. Мы сами нашли у себя такой пробел при аудите CRM для клубов и закрыли его: ниже что именно проверяли и как это сделать в вашем проекте.

Что мы нашли при аудите

Перед выходом CRM к реальным клиентам мы составили список остатка работ. По резервным копиям там стояло три замечания:

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

Данные в системе: клиенты клуба, телефоны, расписание, платежи. Потеря такой базы это остановка работы клуба и обязанность объяснять клиентам, куда делись их данные.

Почему наличие файла ничего не доказывает

Копия может не сработать четырьмя способами:

  1. Пустая или неполная. Файл создан, но часть таблиц не попала в копию.
  2. Битая. Копия повреждена при записи или передаче и не открывается.
  3. Несовместимая. Для восстановления нужна другая версия базы, роль или расширение, которых нет на новом сервере.
  4. Лежит там же, где и данные. Диск вышел из строя, и копия пропала вместе с рабочей базой.

Все четыре варианта выясняются только попыткой восстановления.

Как проверяли мы

Мы написали скрипт с тремя режимами: снять копию, проверить её и восстановить. Затем сделали три вещи.

  1. Прогнали полный круг на настоящем движке Postgres в тесте. База вся снимается, разворачивается заново, и каждая строка сравнивается с исходной. Строки совпали.
  2. Проверили защиту. Повреждённый файл система отказывается разворачивать. Непустую базу она тоже не перезаписывает: восстановление идёт только в чистое место, чтобы случайно не затереть рабочие данные.
  3. Сняли реальную копию с боевого кластера и проверили её отдельной командой. Копия отправляется в папку вне рабочего диска, и папка шифруется. Копия хостинга остаётся быстрым путём, а наша собственная это копия, которая лежит у нас.

Чек-лист для вашей системы

  1. Где лежит копия, и это не тот же сервер или диск, что и рабочая база?
  2. Когда в последний раз копию восстанавливали в тестовую среду? Если ответ «никогда», это первый пункт работ.
  3. Сколько времени занимает восстановление? Узнайте это до аварии, а не во время неё.
  4. Проверяется ли целостность: совпадает ли число строк по таблицам?
  5. Зашифрована ли копия, если в ней персональные данные?
  6. Кто и как узнаёт, что очередная копия не создалась?

Частые вопросы

Достаточно ли копий, которые делает хостинг? Это быстрый путь, но он зависит от условий хостинга и вашей подписки. Копия, которая лежит только у провайдера, тоже требует проверки восстановления.

Как часто проверять восстановление? Хотя бы после каждого изменения структуры базы и раз в месяц на регулярной основе. Автоматизируйте проверку, чтобы она не зависела от памяти.

Можно ли проверить на боевой базе? Нет. Восстановление проверяют в отдельной среде, чтобы ошибка не задела работающую систему.

Если хотите проверить, как организованы копии в вашей системе, опишите её в форме. О том, как мы проверяем защиту данных клиентов друг от друга, читайте в статье про изоляцию данных в мультитенантной CRM.

Хотите обсудить своего ИИ-агента?

Опишите процесс, и мы вернёмся с оценкой сроков и бюджета, без обязательств.