← Все статьи
Поддержка · 11.11.2026 · 11 мин

Бэкапы интернет-магазина: как не потерять заказы

Что копировать, как часто, где хранить и как проверить восстановление. Практический регламент резервного копирования для e-commerce.

Бэкапы интернет-магазина: как не потерять заказы

Резервная копия нужна не для отчёта и не для галочки в договоре поддержки. Она нужна в тот момент, когда база повреждена, сервер удалён, а магазин принимает заказы.

Проблема в том, что бэкап проверяют только тогда, когда он уже нужен. Хорошая практика — регулярно восстанавливать копию на тестовом контуре и смотреть, что получилось.

Чем бэкап отличается от реплики

Реплика копирует данные почти мгновенно и помогает пережить отказ сервера. Но если ошибка пришла из приложения, она попадёт и в реплику. Бэкап — это точка восстановления на прошлое состояние.

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

Что именно копировать

  • Базу данных: товары, заказы, клиенты, цены, остатки.
  • Файлы приложения и конфигурацию окружения.
  • Изображения и документы, загруженные пользователями.
  • Настройки веб-сервера, PHP и очередей.
  • Ключи и секреты в защищённом хранилище.
  • Конфигурацию CDN и правил безопасности.
  • Логи за период, достаточный для разбора инцидента.
  • Дампы внешних интеграций, если они не восстанавливаются.
  • Схему базы и миграции отдельно от данных.
  • Резервные копии перед каждым релизом.

RPO и RTO: сколько данных можно потерять

RPO показывает, на какой момент времени вы готовы вернуться. RTO — сколько времени допустимо потратить на восстановление. Для магазина с потоком заказов даже 15 минут простоя могут стоить денег.

RPO 24 часа

Допустима потеря заказов за сутки. Подходит для небольших проектов.

RPO 1 час

Нужны частые инкременты и журнал транзакций.

RTO 30 минут

Требует автоматизации и заранее подготовленного контура.

RTO 4 часа

Реалистично для большинства средних магазинов.

Как часто делать бэкапы

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

  • Полная копия — раз в сутки или раз в неделю.
  • Инкрементальная копия — каждые 1–6 часов.
  • Копия перед релизом и миграцией — обязательно.
  • Копия перед массовым импортом товаров.
  • Копия после крупных изменений цен.
  • Копия перед изменением прав доступа.

Правило 3-2-1

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

  • Рабочая база.
  • Локальная или сетевая копия.
  • Внешнее хранилище в другом регионе.
  • Разные учётные записи и ключи.
  • Проверка доступа к внешнему хранилищу.

Куда складывать копии

Лучше использовать объектное хранилище с версионированием и защитой от удаления. Оно дешевле дисков сервера и не исчезнет вместе с ним.

  • S3-совместимое хранилище.
  • Отдельный сервер резервных копий.
  • Холодное хранилище для месячных копий.
  • Шифрование перед отправкой.
  • Ограничение срока жизни копий.
  • Проверка целостности после загрузки.

Консистентность базы

Копия «на горячую» может оказаться несогласованной. Для PostgreSQL используют pg_dump или физический бэкап с архивом журналов, для MySQL — mysqldump с транзакциями или Percona XtraBackup.

  • Фиксируйте момент снимка.
  • Проверяйте кодировку и последовательности.
  • Не копируйте файлы базы без остановки записи.
  • Для больших баз используйте физический бэкап.
  • Храните журналы транзакций отдельно.
  • Проверяйте восстановление на тестовой базе.

Шифрование и доступы

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

  • Шифруйте копии до отправки в хранилище.
  • Храните ключи отдельно от копий.
  • Ограничьте круг лиц с доступом.
  • Включите аудит скачивания.
  • Удаляйте копии по истечении срока.
  • Не храните пароли в открытом виде.

Сроки хранения

Слишком короткий срок не даст откатиться к состоянию до незаметной ошибки. Слишком длинный увеличивает стоимость и риски.

  • 7 ежедневных копий.
  • 4 недельных копии.
  • 12 месячных копий.
  • Копии перед релизами — 30 дней.
  • Копии перед миграцией — до завершения проекта.

Как проверить восстановление

Непроверенный бэкап — это не бэкап, а надежда. Восстановление нужно репетировать, пока нет аварии.

1
Поднимите тестовый контур

Отдельная база и отдельный домен, чтобы не задеть продакшен.

2
Разверните копию

Из того же хранилища и тем же способом, что при аварии.

3
Проверьте данные

Количество заказов, товаров, пользователей и последние транзакции.

4
Пройдите сценарий

Каталог, корзина, checkout и оплата в тестовом режиме.

5
Запишите время

Сколько заняли шаги и что пришлось делать вручную.

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

Регламент на одну страницу

✓ Что копируем и в каком порядке.
✓ Как часто и в какое время.
✓ Где храним и кто имеет доступ.
✓ Сколько храним и как удаляем.
✓ Кто проверяет восстановление.
✓ Кто отвечает за инцидент.
✓ Как сообщаем команде о проблеме.
✓ Где лежат ключи и доступы.
✓ Что делаем при потере данных.
✓ Когда пересматриваем регламент.

Типичные ошибки

  • Копия лежит на том же сервере, что и сайт.
  • Бэкап делается, но никогда не проверяется.
  • В копию не попадают загруженные файлы.
  • Секреты хранятся вместе с дампом.
  • Нет копии перед релизом.
  • Срок хранения слишком короткий.
  • Нет ответственного за восстановление.
  • Копии не шифруются.
  • Восстановление не укладывается в RTO.
  • Регламент существует только в голове администратора.

Что делать при потере данных

1
Остановите запись

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

2
Зафиксируйте симптом

Что именно сломалось и когда это заметили.

3
Выберите точку восстановления

До последней корректной копии, а не всегда до последней.

4
Восстановите на отдельном контуре

Сначала проверьте, потом переключайте продакшен.

5
Разберите причину

Ошибка приложения, действие человека или атака.

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

Итог

Бэкап — это процесс, а не файл. Он включает частоту, хранение, шифрование, доступы и регулярную проверку. Если восстановление ни разу не репетировали, считайте, что его нет.

Бэкапы при миграции

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

  • Копия до начала работ.
  • Копия после переноса данных.
  • Копия перед переключением DNS.
  • Копия файлов и изображений.
  • План отката на старую платформу.
  • Проверка восстановления на тестовом домене.

Бэкапы файлов и изображений

База данных — не весь магазин. Изображения товаров, документы, PDF и видео могут занимать больше места и теряться отдельно от дампа.

  • Загруженные изображения.
  • Документы и сертификаты.
  • Файлы конфигурации.
  • Шаблоны писем.
  • Экспортёры и отчёты.
  • Пользовательские файлы.

Стоимость и ресурсы

Бэкапы стоят денег, но дешевле простоя и восстановления. Оцените объём, частоту и срок хранения, чтобы не платить за лишнее.

  • Объём базы и файлов.
  • Частота копирования.
  • Срок хранения.
  • Хранилище и трафик.
  • Время восстановления.

Проверка перед высоким сезоном

Перед распродажей или сезоном проверьте не только бэкапы, но и весь план восстановления. Нагрузка выше, цена ошибки тоже.

✓ Свежая копия базы.
✓ Копия файлов.
✓ Проверенное восстановление.
✓ Доступы у дежурного.
✓ Контакты хостинга.
✓ План отката релиза.
✓ Мониторинг оплат.
✓ Тестовый заказ.

Как автоматизировать бэкапы

Ручной бэкап рано или поздно забудут. Автоматизация должна запускаться по расписанию, проверять результат и сообщать об ошибке.

  • Планировщик на сервере или во внешнем сервисе.
  • Скрипт с проверкой кода возврата.
  • Отправка копии в хранилище.
  • Проверка размера и целостности.
  • Уведомление об успехе и ошибке.
  • Ротация старых копий.
  • Логирование каждого запуска.
  • Тестовое восстановление по расписанию.

Если бэкап упал ночью, утром кто-то должен узнать об этом раньше, чем начнётся рабочий день. Настройте алерт в мессенджер или на почту.

Проверим ваши бэкапы

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

Обсудить поддержку →

Вопросы и ответы

Как часто делать бэкап интернет-магазина? +

Минимум раз в сутки. Если заказы идут постоянно, добавьте инкременты каждые 1–6 часов и копию перед каждым релизом.

Где хранить резервные копии? +

В объектном хранилище или на отдельном сервере, вне продакшена. Одна копия должна быть в другом регионе.

Нужно ли шифровать бэкапы? +

Да. В копиях есть персональные данные и заказы. Ключи храните отдельно от самих копий.

Сколько хранить копии? +

Обычно 7 ежедневных, 4 недельных и 12 месячных. Для регулируемых проектов сроки могут быть больше.

Чем реплика отличается от бэкапа? +

Реплика защищает от отказа сервера, но повторяет логические ошибки. Бэкап позволяет вернуться к прошлому состоянию.

Как проверить бэкап? +

Развернуть на тестовом контуре, сверить количество данных и пройти сценарий заказа. Делать это регулярно.

Что входит в бэкап кроме базы? +

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

Можно ли делать бэкап без остановки магазина? +

Да, если использовать корректный метод для вашей СУБД. Важно проверить консистентность восстановления.

Кто должен отвечать за бэкапы? +

Конкретный человек в поддержке и ответственный со стороны бизнеса. У процесса должен быть владелец.

Что делать, если бэкап повреждён? +

Проверить предыдущие копии и журналы. Если повреждены все, восстановление может быть частичным.

Нужен ли бэкап перед обновлением CMS? +

Обязательно. Обновление может изменить схему данных и настройки.

Как выбрать RPO и RTO? +

От потока заказов и стоимости простоя. Для небольшого магазина достаточно 24 часов и 4 часов соответственно.

Можно ли хранить бэкапы в том же дата-центре? +

Можно как дополнительную копию, но не как единственную. Отказ дата-центра уничтожит и сайт, и копии.

Как проверить, что бэкап не пустой? +

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

Нужно ли бэкапить логи? +

Да, хотя бы за период, достаточный для разбора инцидента. Логи помогают понять причину сбоя и восстановить хронологию.

Что делать, если копия больше диска? +

Использовать сжатие, инкременты и внешнее хранилище. Не храните все копии на том же сервере, который защищаете.

Можно ли использовать бэкап для тестов? +

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

Кто должен иметь доступ к копиям? +

Минимальный круг лиц. Доступ должен быть персональным, с журналом действий и возможностью отзыва.

Как часто менять ключи шифрования? +

По регламенту безопасности, обычно раз в год или при смене ответственных. Старые ключи храните, пока нужны старые копии.