Резервное копирование сайта: как не потерять всё за один день
Сбой хостинга, ошибка при обновлении, взлом или случайное удаление — без резервной копии сайт и заявки можно потерять безвозвратно. Объясняю, что копировать, как часто и где хранить.
Содержание
О резервных копиях вспоминают, когда уже поздно: после неудачного обновления сайт не открывается, хостинг потерял данные, злоумышленник удалил файлы, а сотрудник случайно стёр раздел с портфолио. Если копии нет или она слишком старая, приходится восстанавливать сайт по памяти, а заявки и заказы за последние месяцы пропадают безвозвратно.
Резервное копирование — дешёвая страховка от дорогих проблем. Разберём, как его организовать.
Что нужно копировать
База данных
Здесь хранится самое ценное и часто меняющееся: тексты страниц, статьи, услуги, заявки клиентов, заказы, пользователи, настройки. База меняется каждый день, поэтому её копируют чаще всего.
Загруженные файлы
Изображения портфолио и статей, документы, файлы, которые загружают клиенты. Они не хранятся в коде, и их невозможно восстановить из репозитория.
Код сайта
Если код хранится в системе контроля версий (например, Git) и в удалённом репозитории, его копия уже есть. Если нет — код тоже нужно копировать.
Конфигурация
Настройки окружения, ключи, параметры подключения к базе. Хранить их нужно особенно аккуратно — в зашифрованном виде и отдельно от публичных мест.

Как часто делать копии
Частота определяется тем, сколько данных вы готовы потерять:
- сайт-визитка, который редко меняется, — раз в неделю и перед каждым обновлением;
- сайт с регулярными статьями и заявками — ежедневно;
- интернет-магазин или система с заказами — несколько раз в день или чаще, иногда с непрерывным резервированием базы.
Обязательно делайте копию перед любыми изменениями: обновлением платформы, переносом, массовым редактированием.
Где хранить: правило 3-2-1
Классическое правило надёжного хранения:
- 3 копии данных;
- 2 разных типа хранилищ;
- 1 копия — в другом месте, вне основного сервера.
Копия, которая лежит на том же сервере, что и сайт, не спасёт при сбое сервера или взломе: злоумышленник с доступом к серверу удалит и её. Поэтому хотя бы одна копия должна храниться отдельно — в облачном хранилище или на другом сервере.
Сколько хранить
Храните несколько копий за разные периоды: ежедневные — за последние одну-две недели, еженедельные — за пару месяцев, ежемесячные — дольше. Это позволит восстановиться, даже если проблема обнаружилась не сразу, — например, вредоносный код появился месяц назад.
Автоматизация
Ручные копии неизбежно забываются. Копирование должно выполняться автоматически по расписанию:
- скрипт или встроенный инструмент выгружает базу данных и архивирует файлы;
- архив отправляется во внешнее хранилище;
- старые копии удаляются по правилам хранения;
- при ошибке приходит уведомление.
Многие хостинги делают свои резервные копии — это хорошо, но полагаться только на них не стоит: условия хранения и восстановления у провайдера могут не подойти именно вам.
Проверка восстановления
Копия, из которой не получается восстановить сайт, бесполезна. Периодически проверяйте:
- архив открывается и содержит все нужные данные;
- база данных из копии разворачивается без ошибок;
- сайт из копии запускается на тестовом сервере.
Также полезно заранее описать процедуру восстановления: кто, что и в каком порядке делает. В стрессовой ситуации это экономит часы.
Безопасность копий
Резервные копии содержат все данные сайта — включая контакты клиентов и, возможно, пароли пользователей в виде хешей. Поэтому:
- храните копии в защищённом хранилище с ограниченным доступом;
- при необходимости шифруйте архивы;
- никогда не храните копии в публично доступной папке сайта — их могут скачать.
Сколько времени займёт восстановление
Важный вопрос, который редко задают заранее: сколько времени сайт может быть недоступен без серьёзного ущерба для бизнеса? Для интернет-магазина каждый час простоя — потерянные заказы, для сайта услуг — пропущенные заявки из рекламы, за которую уже заплачено. От ответа зависит, какой должна быть система копирования: достаточно ли ежедневного архива, из которого сайт восстанавливается за несколько часов, или нужна резервная копия, готовая к быстрому переключению. Определите допустимое время простоя и допустимую потерю данных — и под эти цифры настройте частоту и способ копирования.
Типичные ошибки
- копии делаются только на том же сервере;
- копируется база, но забыты загруженные изображения;
- последняя копия сделана полгода назад, потому что скрипт сломался, а уведомлений нет;
- копии никогда не проверялись;
- архив с базой лежит в корне сайта и доступен по прямой ссылке;
- доступ к хранилищу копий есть только у подрядчика.
Резервные копии и разработка
При разработке и обновлении сайта важно, чтобы изменения можно было откатить. Код хранится в системе контроля версий, структура базы меняется через миграции, перед выкладкой делается копия базы. Так любое обновление становится обратимым. Так я выкатываю обновления на проектах — включая этот сайт: перед переносом на новую платформу была сделана полная копия базы и файлов.
Итог
Регулярные автоматические копии базы и файлов, хранение вне основного сервера и периодическая проверка восстановления — минимальный набор, который защищает бизнес от потери сайта и данных. Резервное копирование входит в техническую поддержку сайтов, которые я веду, и закладывается при разработке новых проектов. Подробнее о других мерах защиты — в статье как защитить сайт от взлома. Оставьте заявку — проверю, как сейчас защищены данные вашего сайта.