Три бэкапа, которые вас не спасут

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

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

Вот три конфигурации, которые выглядят надёжно и не работают.

1. Копия лежит на том же сервере

Самый частый вариант: плагин раз в неделю складывает архив
в wp-content/backups. Пока проблема в сайте — это работает.
Копия перестаёт существовать ровно в тех случаях, ради которых её делали:

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

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

2. Копия есть, но в ней нет базы

Второй по частоте случай. Архив файлов снимается FTP-клиентом,
база — нет, потому что для неё нужен отдельный инструмент.

Между тем в WordPress файлы — это код и картинки, а сайт — это база:
все тексты, страницы, товары, заказы, пользователи и настройки. Копия
без базы восстанавливает пустую витрину.

Обратный случай тоже встречается: снимают базу, но не снимают
wp-content/uploads. Тексты вернутся, изображения — нет.

3. Копия есть, но её никто не разворачивал

Самая коварная. Архивы копятся месяцами, плагин рапортует об успехе,
и все спокойны. В день восстановления выясняется, что дамп обрывается
на середине, потому что скрипту не хватало времени выполнения; что архив
не распаковывается; что в нём нет одной таблицы; что копия снималась
с версии PHP, на которую сайт больше не запускается.

Копия, которую ни разу не разворачивали, — это не копия,
а предположение о копии.

Как должно быть

Рабочая схема выглядит скучно и стоит недорого:

  • База — ежедневно, файлы — еженедельно.
    Данные меняются каждый день, код — редко.
  • Хранение 30 дней. Заражение или ошибку в контенте
    замечают не в тот же час; вчерашняя копия часто уже испорчена.
  • Копия за пределами хостинга. Отдельное хранилище,
    отдельные доступы.
  • Копия перед каждым обновлением. Не по расписанию,
    а именно перед изменением — тогда откат занимает минуту.
  • Проверка разворачиванием. Раз в квартал копия
    поднимается на тестовой площадке. Это единственный способ узнать,
    что она рабочая, до того как она понадобится.

Сколько времени вы готовы потерять

Два числа, которые полезно назвать вслух до аварии, а не после:

  • Сколько данных допустимо потерять. Если копия
    снимается раз в сутки, вы теряете до суток заказов.
  • Сколько времени сайт может лежать. Восстановление
    из копии на том же хостинге — минуты. Восстановление с переносом
    на новый хостинг и перевыпуском сертификата — часы.

Ответы на эти два вопроса определяют схему копирования лучше,
чем любые общие рекомендации.

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

Написано в Certena — обслуживаем и разрабатываем сайты на WordPress в Минске и по Беларуси. Спросить про свой сайт.

Читайте дальше

Статьи из этого же раздела.

Проверим ваш сайт

Посмотрим, что с обновлениями, бэкапами и формами, и честно скажем, есть ли повод что-то менять.

+375