Резервные копии
Резервная копия — это выгрузка содержимого хранилища сервиса в защищённое объектное хранилище по расписанию. Копии позволяют вернуть данные после случайного удаления, ошибки в приложении или неудачного обновления.
Резервные копии работают для сервисов с подключённым хранилищем и для управляемых баз данных.
Как это устроено#
- Вы задаёте что копировать (хранилище), как часто (расписание) и сколько копий хранить.
- В назначенное время панель сама создаёт копию и загружает её в объектное хранилище.
- Когда копий больше заданного количества, самые старые удаляются автоматически.
- Копии хранятся отдельно от сервиса: они переживут даже его удаление.
Создание расписания#
- 1Откройте вкладку BackupsСервис → вкладка Backups. Здесь виден список расписаний: что копируется, как часто, когда была последняя копия и включено ли расписание.
- 2Заполните формуНажмите Добавить бэкап, укажите хранилище, число копий и частоту (поля — ниже), затем нажмите Создать. Расписание сразу становится активным.
- 3Проверьте первую копиюНе ждите ночи: нажмите Запустить сейчас. Появится уведомление «Экспорт запущен», а через некоторое время обновится время последнего запуска и статус.
Поля формы
| Field | Description |
|---|---|
| Хранилище данных | Хранилище, содержимое которого копируется. Если список пуст — подключите хранилище к сервису. Для управляемых баз копируется их том с данными. |
| Сколько копий хранить | Число последних копий, которые остаются в хранилище. По умолчанию — 30: при ежедневных копиях это месяц истории. |
| Как часто делать бэкап | Каждый день в 00:00, каждые 12 часов, каждые 6 часов, раз в неделю (вс, 00:00), раз в месяц (1-е, 00:00) или своё cron-расписание. |
Своё расписание задаётся cron-выражением из пяти полей: минута час день месяц день_недели.
0 3 * * * # каждый день в 03:00
30 2 * * 1 # каждый понедельник в 02:30
0 */4 * * * # каждые 4 часаУправление расписаниями#
| Field | Description |
|---|---|
| Переключатель | Приостановить или снова включить расписание. Приостановка не удаляет сохранённые копии. |
| Запустить сейчас | Сделать копию вне расписания. Полезно перед крупным обновлением или рискованным изменением данных. |
| Изменить | Поменять частоту и количество хранимых копий. |
| Удалить | Убрать расписание. Ранее сохранённые копии остаются в объектном хранилище. |
Восстановление данных#
При восстановлении текущие данные хранилища перезаписываются содержимым выбранной копии.
- 1Остановите сервисЧтобы приложение не писало данные во время восстановления.
- 2Выберите копию по датеРаздел восстановления находится на вкладке Backups. Если нужной копии нет в списке, напишите в поддержку — укажите имя сервиса, хранилище и дату.
- 3Запустите сервис и проверьте данныеПосле восстановления включите сервис и убедитесь, что данные на месте.
Рекомендации#
- Частота под ценность данных. Интернет-магазин — каждые 6 часов, блог — раз в сутки, редко меняющиеся файлы — раз в неделю.
- Копия перед обновлением. Перед миграцией или крупным релизом нажмите Запустить сейчас.
- Проверяйте копии. Раз в квартал восстанавливайте копию на тестовом сервисе: копия, которую ни разу не разворачивали, — это гипотеза, а не бэкап.
- Ночное окно. Копирование нагружает диск, поэтому расписание лучше ставить на часы минимальной активности.
Частые вопросы#
Влияет ли копирование на работу сервиса?
Сервис продолжает работать. Возможна кратковременная повышенная нагрузка на диск, поэтому копии удобнее делать ночью.
Что будет с копиями, если удалить сервис?
Уже выгруженные копии остаются в объектном хранилище, расписание удаляется вместе с сервисом.
Почему в списке хранилищ пусто?
К сервису не подключено ни одного хранилища. Сначала добавьте его на вкладке Settings.
Копируются ли переменные окружения и настройки?
Нет. Копия содержит только данные хранилища. Настройки сервиса храните в репозитории или выгружайте отдельно.