Назад | Перейти на главную страницу

Системный таймер rsnapshot еженедельно

Я настроил systemd таймер для ежечасного, ежедневного и еженедельного резервного копирования с rsnapshot на внешнем HD.

Когда я на работе HD, он подключен, и я настроил rsnapshot.conf с опцией

no_create_root  1

так что если путь к резервной копии не указан, каталог не создается и резервное копирование не выполняется.

Моя проблема заключается в том, что время резервного копирования наступает, когда я не на работе и HD не подключен, поэтому нет запуска rsnapshot, НО еженедельный таймер сбрасывается, вместо того, чтобы «повторить попытку» в следующий раз, когда я перезагружаю машину ( надеюсь на работе).

Это моя конфигурация таймера

[Unit]
Description=rsnapshot weekly backup

[Timer]
OnCalendar=weekly
Persistent=true
Unit=rsnapshot@weekly.service

[Install]
WantedBy=timers.target

и если я провожу еженедельный пробег

/ var / log / сообщения

Нет никаких свидетельств того, что какая-либо операция была успешной или нет, пока присутствует ежедневная или ежечасная работа.

Если я запрошу статус таймера

sudo systemctl status rsnapshot-weekly.timer

Oct 24 13:30:35 criniv rsnapshot[10991]: /usr/bin/rsnapshot daily: completed successfully
rsnapshot-weekly.timer - rsnapshot weekly backup
Loaded: loaded (/etc/systemd/system/rsnapshot-weekly.timer; enabled)
Active: active (waiting) since lun 2016-10-24 08:46:21 CEST; 5h 48min ago

Кажется, что предыдущий запуск был успешным, но это не так. Можете помочь разобраться, как правильно его настроить?

Как было предложено Марком в настройке таймера, я изменил OnCalendar из Ед. изм раздел от

[Timer]
OnCalendar=weekly
Persistent=true
Unit=rsnapshot@weekly.service

к

[Timer]
OnCalendar=monday  *-*-* 10:00:00
Persistent=true
Unit=rsnapshot@weekly.service

Это не совсем то, что я искал, но это решает мою проблему. То, что я искал, было настройкой, чтобы исправить

OnCalendar = еженедельно

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

Вы можете создавать еженедельные резервные копии с «наверстывающими» запусками, используя Persistent= директива в файле модуля таймера, задокументированная в man systemd.timer.

Постоянный =

Принимает логический аргумент. Если true, время последнего запуска сервисного модуля сохраняется на диске. Когда таймер активирован, сервисный блок запускается немедленно, если он сработал хотя бы один раз в то время, когда таймер был неактивен. Это полезно, чтобы наверстать упущенное из-за пропущенных запусков службы, когда машина была выключена. Обратите внимание, что этот параметр влияет только на таймеры, настроенные с помощью OnCalendar =.