Я настроил 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 =.