ДокументацияХранение данныхРезервные копии

Резервные копии

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

Резервные копии работают для сервисов с подключённым хранилищем и для управляемых баз данных.

Как это устроено#

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

Создание расписания#

  1. 1
    Откройте вкладку Backups
    Сервис → вкладка Backups. Здесь виден список расписаний: что копируется, как часто, когда была последняя копия и включено ли расписание.
  2. 2
    Заполните форму
    Нажмите Добавить бэкап, укажите хранилище, число копий и частоту (поля — ниже), затем нажмите Создать. Расписание сразу становится активным.
  3. 3
    Проверьте первую копию
    Не ждите ночи: нажмите Запустить сейчас. Появится уведомление «Экспорт запущен», а через некоторое время обновится время последнего запуска и статус.

Поля формы

FieldDescription
Хранилище данныхХранилище, содержимое которого копируется. Если список пуст — подключите хранилище к сервису. Для управляемых баз копируется их том с данными.
Сколько копий хранитьЧисло последних копий, которые остаются в хранилище. По умолчанию — 30: при ежедневных копиях это месяц истории.
Как часто делать бэкапКаждый день в 00:00, каждые 12 часов, каждые 6 часов, раз в неделю (вс, 00:00), раз в месяц (1-е, 00:00) или своё cron-расписание.

Своё расписание задаётся cron-выражением из пяти полей: минута час день месяц день_недели.

text
0 3 * * *     # каждый день в 03:00
30 2 * * 1    # каждый понедельник в 02:30
0 */4 * * *   # каждые 4 часа

Управление расписаниями#

FieldDescription
ПереключательПриостановить или снова включить расписание. Приостановка не удаляет сохранённые копии.
Запустить сейчасСделать копию вне расписания. Полезно перед крупным обновлением или рискованным изменением данных.
ИзменитьПоменять частоту и количество хранимых копий.
УдалитьУбрать расписание. Ранее сохранённые копии остаются в объектном хранилище.

Восстановление данных#

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

  1. 1
    Остановите сервис
    Чтобы приложение не писало данные во время восстановления.
  2. 2
    Выберите копию по дате
    Раздел восстановления находится на вкладке Backups. Если нужной копии нет в списке, напишите в поддержку — укажите имя сервиса, хранилище и дату.
  3. 3
    Запустите сервис и проверьте данные
    После восстановления включите сервис и убедитесь, что данные на месте.

Рекомендации#

  • Частота под ценность данных. Интернет-магазин — каждые 6 часов, блог — раз в сутки, редко меняющиеся файлы — раз в неделю.
  • Копия перед обновлением. Перед миграцией или крупным релизом нажмите Запустить сейчас.
  • Проверяйте копии. Раз в квартал восстанавливайте копию на тестовом сервисе: копия, которую ни разу не разворачивали, — это гипотеза, а не бэкап.
  • Ночное окно. Копирование нагружает диск, поэтому расписание лучше ставить на часы минимальной активности.
Бэкапы и откаты вместе
Откат кода не возвращает данные. Как это связано — в разделе Откаты.

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

Влияет ли копирование на работу сервиса?

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

Что будет с копиями, если удалить сервис?

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

Почему в списке хранилищ пусто?

К сервису не подключено ни одного хранилища. Сначала добавьте его на вкладке Settings.

Копируются ли переменные окружения и настройки?

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