systemd: изящно сбой резервного копирования, когда внешний диск не подключен

У меня есть резервная настройка, где я использую таймеры systemd для ежедневного, ежедневного, еженедельного и ежемесячного резервного копирования. Каждый таймер запускает службу, которая запускает сценарий резервного копирования.

Единицы службы резервного копирования имеют следующую форму (по одному на место резервного копирования, у этого есть имя файла rsnapshot-external@.service ):

 [Unit] Description=%i rsnapshot external backup RefuseManualStart=no RefuseManualStop=yes [Service] Type=oneshot ExecStart=/usr/bin/rsnapshot -c /etc/rsnapshot-external.conf %i 

Единицы таймера имеют следующую форму (по одной на периодичность, у этого есть имя файла rsnapshot-weekly@.timer ):

 [Unit] Description=weekly rsnapshot backup to %i RefuseManualStart=no RefuseManualStop=no [Timer] OnCalendar=weekly Persistent=true Unit=rsnapshot-%i@weekly.service [Install] WantedBy=default.target 

В файле конфигурации резервного копирования (например, /etc/rsnapshot-external.conf ) место резервного копирования указывается через точку монтирования (например, /mnt/backup/external ). Сценарий резервного копирования достаточно умен в том смысле, что он не будет работать, если фактический резервный диск не установлен (а именно, если он не находит определенный каталог в точке монтирования).

Теперь резервные диски часто либо не подключены, либо подключены, но не установлены. В последнем случае я включил автоматический монтаж в fstab :

 LABEL=backup-external /mnt/backup/external ext4 noauto,noatime,nosuid,nodev,x-systemd.automount,x-systemd.device-timeout=1 0 0 

x-systemd.automount гарантирует, что диск будет установлен после доступа точки монтирования. (Я не знаю, эффективен ли тайм-аут, установленный с x-systemd.device-timeout=1 )

В случае, когда резервный диск не подключен или какая-либо другая причина, из-за которой резервный диск не может быть смонтирован своевременно, я хотел бы, чтобы служебный блок вышел из строя изящно. Под этим я подразумеваю, что (i) он не должен оставаться активным, а также (ii), что попытка не считается успешной, т. Е. Всякий раз, когда резервный диск становится доступным, резервное копирование следует повторить.

У меня есть требование (i), потому что после выключения эта служба в противном случае убивается только после «большого» тайм-аута, что неудобно. (Возможно, я могу установить этот тайм-аут специально для этой службы?)

Требование (ii) необходимо, так как в противном случае дозаполнение ежемесячной резервной копии займет не менее месяца, и тогда это будет многомесячная резервная копия.

Итак, какие изменения мне необходимо сделать для достижения моей цели создания резервной установки, которая изящно не соответствует моим требованиям?

Interesting Posts

Подключитесь к экземпляру KVM, используя virsh, когда изображение запущено через Eucalyptus?

.sh-файл не может быть выполнен без явного вызова sh

Имеет ли пользователь разрешение на запись за пределами / home / userDir?

Могу ли я получить доступ к буферу X11 из tty1-6?

Нужна помощь с поддержкой 3D-ускорения в стабильной Debian

Remap Caps Lock для «A» без отправки письма дважды

~ / .xinitrc не запускается

UberSVN и TortoiseSVN, вопрос о номерах версий

Черный список USB-устройства только для использования с uvcvideo

При обработке входных файлов происходит копирование / обновление и переименование действительного подхода?

Zsh скрипт, как конкатенировать элементы массива со строкой

Программа для отображения нажатий клавиш (ярлыков) на дисплее

убить несколько процессов с помощью awk-инструментов

Есть ли способ заставить «mv» терпеть неудачу?

make grep подтвердить все соответствия

Linux и Unix - лучшая ОС в мире.