WebNeon.
4 мин чтения

Резервное копирование сайта: как не потерять всё

Что и как часто копировать, где хранить, почему копия без проверки восстановления бесполезна и что делать, если бэкапа не оказалось.

Резервное копирование сайта: как не потерять всё

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

Что копировать

Сайт состоит из двух частей, и обе нужны.

Файлы: код, шаблоны, загруженные изображения и документы, конфигурация.

База данных: содержимое страниц, товары, заказы, пользователи, настройки.

Классическая ошибка — копировать только одно. Файлы без базы дают пустой сайт, база без файлов — данные, которые нечем показать.

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

Как часто

Частота определяется одним вопросом: потерю какого объёма работы вы готовы пережить.

Тип сайтаФайлыБаза
Визитка, корпоративный сайтРаз в неделюРаз в неделю
Сайт с блогомРаз в неделюРаз в 1–3 дня
Интернет-магазинЕжедневноЕжедневно, лучше чаще
Сервис с пользователямиЕжедневноНесколько раз в день

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

Где хранить

Ключевое требование: не там же, где сайт.

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

Рабочая схема на два уровня:

Первый — автоматические копии хостинга. Быстро восстанавливаются, покрывают большинство бытовых ситуаций.

Второй — независимая копия в другом месте: облачное хранилище или другой сервер. Страховка на случай проблем с самой площадкой.

Что ещё спросить у провайдера при выборе — в статье как выбрать хостинг.

Глубина хранения

Одной последней копии недостаточно.

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

Разумная схема: несколько ежедневных копий за последнюю неделю, несколько еженедельных за последний месяц, одна-две ежемесячные.

Главное правило: проверяйте восстановление

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

Типичные сюрпризы, которые обнаруживаются в самый неподходящий момент:

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

Проверяйте восстановление раз в квартал. Развернуть копию на тестовом адресе и убедиться, что сайт работает, — час работы, который окупается один раз, но полностью.

Это одна из тех задач, которые входят в нормальную поддержку сайта и о которых вспоминают только после инцидента.

Кто за это отвечает

Вопрос, который нужно закрыть явно.

Варианты: хостинг делает автоматически, подрядчик на поддержке, ваш штатный специалист. Плохой вариант — «наверное, хостинг делает».

Проверьте прямо сейчас три вещи: где хранятся копии, за какой период, и кто получает уведомление, если копирование не удалось.

Если на любой из вопросов нет ответа — резервного копирования у вас, скорее всего, нет.

Что делать, если копии нет

Ситуация неприятная, но не всегда безнадёжная.

Проверьте копии хостинга — они могут быть даже если вы их не настраивали.

Кеш поисковых систем и веб-архивы — оттуда иногда удаётся вытащить тексты и структуру страниц. Изображения и базу данных так не вернуть.

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

Чаще всего приходится восстанавливать сайт заново, и стоит это как новая разработка. Именно поэтому копии дешевле любых последствий их отсутствия.

Связь с безопасностью

Резервное копирование — не защита от взлома, а способ пережить его последствия.

При компрометации порядок такой: снять сайт с доступа, сменить все пароли, восстановиться из заведомо чистой копии (не последней, а той, что точно старше момента заражения), обновить всё, найти точку входа. Подробно — в статье безопасность сайта.

Именно здесь и выясняется ценность глубины хранения: если у вас только вчерашняя копия, восстанавливаться не из чего.

Итог

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

И главное — раз в квартал проверяйте восстановление. Всё остальное в этой статье бессмысленно, если копия не разворачивается.

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

Как часто делать резервные копии?+

Для сайта, где контент меняется редко, — раз в неделю. Для магазина с заказами — ежедневно, а базу данных лучше чаще. Правило простое: частота копий определяется тем, потерю какого объёма работы вы готовы пережить.

Достаточно ли копий, которые делает хостинг?+

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

Почему копию нужно проверять?+

Потому что копия, которую ни разу не разворачивали, — это предположение, а не резервная копия. Типичные сюрпризы: копируется база без файлов, архив повреждён, копирование давно падает с ошибкой, и никто об этом не знает.

Что делать, если бэкапа нет, а сайт потерян?+

Проверить копии хостинга, кеш поисковых систем и веб-архивы — оттуда иногда удаётся восстановить тексты и структуру. Изображения и базу данных так не вернуть. Чаще всего приходится восстанавливать сайт заново, и это стоит как новая разработка.

Читайте также