Расписания¶
В разделе Настройки, Расписание собраны все планы: полный бэкап, который охватывает всё, собственный план для раздела, внешние копии, а также какие записи участвуют и в каком порядке. У отдельной записи на её странице может быть свой план. Эта страница объясняет, как всё это сочетается, и разбирает типичную настройку.
Планы читаются как предложения¶
Каждый план — это кнопка, которая читается как предложение, например ежедневно в 03:00 или каждые 2 дня в 01:30. Щелчок открывает её с пятью режимами:
| Режим | Что вы задаёте |
|---|---|
| Выкл. | По этому плану ничего не запускается. |
| Ежедневно | Время |
| Еженедельно | Дни и Время |
| Каждые N дней | Каждые столько-то дн. и Время. Отсчёт идёт от последнего планового запуска, поэтому копия одной записи, сделанная вручную, не сдвигает план. |
| Cron | Выражение из пяти полей, например 0 */6 * * * для каждых 6 часов. Примеры предлагает несколько готовых, а окно показывает ближайшие запуски. |
Все времена указаны в часовом поясе сервера. В Unraid это собственный пояс системы. В других системах задайте TZ, иначе каждый план работает по UTC, см. Переменные окружения.
Неделя¶
Карточка Неделя рисует все запланированные запуски с понедельника по воскресенье, по одной строке на день: копии, внешние копии и проверки. Наведите курсор на штрих, чтобы прочитать, что там запускается. Там, где три плана стартуют в пределах двух часов, участок отмечен, чтобы вы могли разнести их по времени.

Полный бэкап¶
Полный бэкап — план по умолчанию для всего. Его задаёт Когда выполняется резервное копирование: один проход, который по очереди копирует каждый раздел, то есть контейнеры, виртуальные машины, флешку, папки, наборы данных ZFS, а автобэкап последним. Строка под ним говорит, какие разделы он включает. Выкл. отключает его, и тогда запускается только то, у чего есть собственный план.
- Навёрстывать пропущенные резервные копии после запуска: если сервер был выключен в запланированное время, BombVault запускает эту копию примерно через две минуты после старта. Собственный план записи и план внешних копий ждут своего следующего запланированного времени, как и план, который ещё ни разу не выполнился успешно.
- Команды до и после: Команда перед полным бэкапом выполняется на сервере через
sh -cдо начала прохода, например скрипт, который останавливает службу. Если она завершилась ошибкой, полный бэкап всё равно запускается. Команда после полного бэкапа выполняется один раз после того, как попробовали все разделы, даже если один из них не удался, что подходит для пинга, подтверждающего защиту всего сервера. Команды для одного контейнера лежат на его странице.
Создать копию всего сейчас на странице «Резервные копии» запускает тот же проход вручную по всем включённым разделам.
Планы по разделам¶
Раздел может выйти из полного бэкапа и запускаться в своё время. В Расписания по разделам кнопка Исключение добавляет раздел с собственным планом, а Убрать исключение возвращает его обратно. Строка в карточке говорит, что делают остальные, например Все остальные разделы выполняются в полном бэкапе.
Раздел с собственным планом не копируется повторно в полном бэкапе, так что ничего не копируется дважды. То же относится к отдельной записи с собственным планом.
Внешние копии по разделам работает так же для копий. По умолчанию каждый раздел копирует во внешние места назначения сразу после каждой копии. Исключение даёт одному разделу собственный план копирования, например чтобы виртуальные машины копировались на Backblaze B2 только по воскресным ночам. В карточке Копировать самого места назначения тоже можно задать Когда копировать, см. Внешние копии.
Записи в расписании¶
Записи в расписании сообщает по каждому разделу, сколько записей участвуют, например 38 из 41 в расписании. Записи открывает список с переключателем В расписании у каждой записи. Выключенная запись копируется только тогда, когда вы запускаете её вручную. Она считается незащищённой, если вы не отметили её Не копировать.
Порядок¶
Порядок задаёт очерёдность, в которой плановые запуски и полный бэкап копируют контейнеры и виртуальные машины. Перетащите запись на место или воспользуйтесь стрелками, и каждое перемещение сохраняется сразу. Записи, которые вы не упорядочили, копируются в порядке просрочки, самые просроченные первыми. Отдельная копия вручную от этого не зависит.
Перезапуск после резервного копирования в той же карточке касается контейнеров, которые Остановить другие контейнеры остановил на время копии. Они снова запускаются в порядке своих зависимостей, а с Дождаться готовности зависимостей перед запуском следующего каждый должен сообщить, что здоров или запущен, прежде чем начнётся следующий. Тайм-аут готовности на контейнер (секунды) ограничивает ожидание, по умолчанию 120, в диапазоне от 5 до 3600.
Снимок вместо остановки¶
Останавливать контейнеры на ZFS только на время снимка включено по умолчанию. Контейнер, чьи данные лежат на ZFS, останавливается, только пока BombVault делает снимок этих данных, обычно несколько секунд, а затем копия читается из снимка. Для этого нужно SSH-соединение с хостом, которое используют наборы данных ZFS. Контейнер, часть данных которого лежит в другом месте, останавливается на всё время копии, как раньше, и его запуск объясняет почему, а контейнер, у которого на ZFS нет ни одного файла, останавливается без пометки. Это работает на пользовательском ресурсе Unraid, лежащем на одном пуле ZFS. На TrueNAS приложению также нужна возможность SYS_CHROOT, см. TrueNAS SCALE. Для отдельного контейнера это можно настроить иначе на его странице.
Копия ложится по тем же путям и с теми же тегами, что и сделанная с остановленным контейнером, поэтому восстановление и проверки обращаются с обеими одинаково. Команда перед копией и дамп базы данных по-прежнему выполняются первыми, другие контейнеры, которые нужно остановить, останавливаются и запускаются вместе с ним, а команда после копии выполняется, как только контейнер снова работает. Обновление после копии по-прежнему ждёт, пока копия не закончится. В его запусках показаны Снимок и число секунд, в течение которых контейнер был остановлен. Если BombVault остановится посреди копирования любого контейнера, при следующем запуске он снова запустит контейнеры, которые держал остановленными.
Обновления после копии¶
- Обновлять контейнеры после успешного резервного копирования скачивает более новый образ только после того, как предыдущая копия закончилась, так что свежая точка восстановления всегда существует заранее. По умолчанию выключено, а для отдельного контейнера это можно настроить на его странице в пункте Обновлять после успешного резервного копирования. На новый образ переносится только то, что вы задали сами: переменные, метки, команда, пользователь и healthcheck, которые по-прежнему совпадают со старым образом, берутся из нового. Если контейнер с новым образом не удаётся создать или запустить, контейнер возвращается к образу, на котором работал, обновление показывается как неудавшееся, а следующая копия пробует снова. Контейнер, который из-за этого остался остановленным, называется в запуске копии и в уведомлении.
- Удалять старый образ после обновления удаляет образ, который контейнер оставил. Базовый образ, общий для других контейнеров, никогда не удаляется.
- Обновлять статус обновлений Unraid после обновления контейнера снимает баннер обновления Unraid для этого контейнера.
Сообщение о каждом обновлённом контейнере настраивается в разделе Настройки, Уведомления пунктом Уведомлять об обновлении контейнера.
Простой перед копией¶
Карточка Простой перед копией задаёт, когда приложение считается простаивающим для контейнера, плановая копия которого его ждёт: CPU ниже (% одного ядра), Трафик ниже (Mbit/s) и Не меньше (мин). Медиасервер простаивает, когда ничего не транслирует, а для контейнера в сети хоста учитывается только CPU. Само ожидание настраивается у каждого контейнера, см. Если приложение занято.
Собственный план для одной записи¶
У каждой записи есть Собственный план в карточке Расписание и место назначения на её вкладке «Настройки». Если там задан план, запись работает в свои времена и выходит из полного бэкапа и плана своего раздела. Без него она следует им.
Пример: три плана, которые работают вместе¶
Типичный сервер Unraid: большинство контейнеров можно копировать ночью, виртуальные машины большие и меняются медленно, а в Immich новые фотографии появляются весь день.
- Полный бэкап в 03:00. Откройте Настройки, Расписание. В карточке Полный бэкап выберите в Когда выполняется резервное копирование значение Ежедневно в
03:00. Включите Навёрстывать пропущенные резервные копии после запуска, чтобы ночь с выключенным сервером наверстывалась. - Виртуальные машины раз в неделю. В Расписания по разделам нажмите Исключение, выберите Виртуальные машины и задайте план Еженедельно, Дни воскресенье, Время
04:00. Теперь карточка говорит, что все остальные разделы выполняются в полном бэкапе. - Виртуальные машины копируются вне сервера тоже в воскресенье. В Внешние копии по разделам нажмите Исключение, выберите Виртуальные машины и задайте Еженедельно, воскресенье в
06:00, когда их копия уже успеет закончиться. - Immich каждые 6 часов. Откройте Резервные копии, затем
immich, затем его вкладку Настройки. Задайте Собственный план Cron с0 */6 * * *.
Что запускается теперь:
| Когда | Что |
|---|---|
| Каждый день в 03:00 | Контейнеры, кроме immich, флешка, папки, наборы данных ZFS и автобэкап, раздел за разделом |
| Воскресенье в 04:00 | Виртуальные машины |
| Воскресенье в 06:00 | Внешняя копия виртуальных машин |
| 00:00, 06:00, 12:00 и 18:00 | immich отдельно |
Карточка Неделя показывает строку 03:00 на каждый день, штрихи 04:00 и 06:00 в воскресенье и четыре штриха в день для immich. immich не копируется второй раз в 03:00, потому что запись с собственным планом выходит из полного бэкапа. Копии остальных разделов по-прежнему запускаются сразу после каждой копии.
Когда вы позже уберёте собственный план immich, он снова присоединится к запуску в 03:00 вместе со своим разделом.