bxmeta.@bxmeta

Резервная копия:
проверка восстановлением.

Сообщение "резервное копирование выполнено" говорит только о том, что файл создан. Подойдёт ли он для восстановления, становится понятно в день аварии, если не проверить раньше. Проверка простая: взять копию и поднять из неё сайт на отдельной площадке.

Что должно быть в копии

  • Файлы сайта. Код, шаблоны и настройки.
  • Загруженные материалы. Картинки товаров, документы, вложения. Их часто исключают из копии ради экономии места и забывают об этом.
  • База данных. Заказы, клиенты, содержимое страниц.
  • Настройки окружения. Конфигурация веб-сервера, расписание задач, сертификаты, параметры почты.

Полезно один раз записать, что именно попадает в копию и что в неё не входит. Этот список понадобится при восстановлении.

Где хранится копия

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

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

База данных отдельно

Базу нельзя надёжно сохранить простым копированием её файлов с работающего сервера: данные в этот момент меняются. Для MySQL обычно делают логическую копию утилитой mysqldump. Для таблиц InnoDB её запускают с параметром --single-transaction, чтобы снять согласованный снимок данных: документация mysqldump.

Быстрые признаки проблемы видны и без восстановления: файл копии подозрительно маленький, размер не меняется неделями или копия обрывается на середине таблицы. Но окончательный ответ даёт только тест.

Тест восстановления

  1. Подготовьте отдельную площадку: тестовый поддомен или временный сервер. Закройте её паролем и от индексации.
  2. Разверните файлы и базу из копии, не подглядывая в рабочий сайт.
  3. Отключите на копии отправку писем, обмены и оплату, чтобы тест не затронул клиентов.
  4. Проверьте главное: вход в административную часть, каталог, картинки, оформление заказа до шага оплаты.
  5. Засеките, сколько времени заняло восстановление.

Всё, чего не хватило при развёртывании, нужно добавить в копию или в инструкцию.

Что записать после теста

  • За какое время сайт поднимается из копии.
  • За какой срок могут потеряться новые данные: это промежуток между копиями.
  • Кто и по какой инструкции выполняет восстановление.
  • Когда следующий тест. Разумно повторять его после крупных изменений на сайте и сервере.

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

Ещё по теме.

Все статьи ↗

Нужна помощь с задачей?

Пришлите адрес сайта и описание ситуации. Согласуем следующий шаг, объём и стоимость.

Обсудить задачу