Обновить

Сервер был выключен ночью. Выполнит ли systemd пропущенный бэкап?

Допустим, бэкап запускается каждый день в 03:00 через systemd-таймер. Ночью сервер был выключен, а утром его включили. Запустится ли бэкап после загрузки?

Это зависит от настройки Persistent.

Предположим, что backup.service уже настроен и выполняет резервное копирование. Добавим для него таймер /etc/systemd/system/backup.timer:

[Unit]
Description=Daily backup timer

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

По умолчанию backup.timer запускает одноимённый backup.service. Время в примере указано в часовом поясе сервера.

Загрузим настройки и включим новый таймер:

sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer

Теперь представим, что таймер уже работал, но однажды сервер оказался выключен в 03:00. При следующей активации таймера systemd увидит пропуск и инициирует запуск сервиса.

Для этого Persistent=true хранит на диске отметку о последнем срабатывании. По умолчанию настройка выключена — тогда запуск, пропущенный из-за выключения сервера, не компенсируется.

Есть несколько ограничений:

  • Если сервер был выключен три дня, таймер не запустит три отдельных бэкапа.

  • Persistent работает для календарного расписания OnCalendar. Для OnUnitActiveSec эта настройка не действует.

  • Если backup.service уже активен, таймер не запустит его повторно.

  • Если задан RandomizedDelaySec, компенсирующий запуск тоже может произойти с задержкой.

Посмотреть расписание и журнал сервиса можно так:

systemctl list-timers --all backup.timer
sudo journalctl -u backup.service -n 50 --no-pager

Persistent=true помогает компенсировать пропущенный запуск. При этом успешность бэкапа всё равно нужно проверять отдельно: срабатывание таймера не означает, что копия создана и пригодна для восстановления.

Здесь возникает вопрос к читателям: ваши задачи после простоя должны запускаться один раз или обрабатывать каждый пропущенный период?

Теги:
+1
Комментарии1

Разработчик представил утилиту, которая наносит рисунки на CD, DVD и Blu‑ray обычным пишущим приводом

Разработчик под никнеймом JiaFeiMiao‑K-Cat выпустил утилиту DiscImageStudio, которая конвертирует изображение в данные для записи на оптический диск и наносит их с помощью записи. В итоге картинка становится видна на той же стороне, с которой привод считывает данные.

Разработчик представил утилиту, которая наносит рисунки на CD, DVD и Blu‑ray обычным пишущим приводом

Публикации