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

Как проверить, начинается ли строка со значением, содержащим #, вкладку и, возможно, пространство?

Как установить Exim и Horde на Centos 7 с помощью MariaDB 10?

Разделение SSD для нескольких ОС

IPMI не запускается во время установки кикстарта

Создание нового раздела с разделенным для нового жесткого диска: при установке он намного меньше, чем ожидалось. Зачем?

Как можно выполнить обновление в реальном времени во время работы программы?

Ошибка конфигурации Gcc

Как преодолеть разницу TZ на разных серверах?

Удалить последнюю строку из файла

Как я могу проверить, установлен ли каталог / tmp на моей системе CentOS 5.x на tmpfs?

Как я могу получить самокомпилированные пакеты, чтобы хорошо играть с менеджерами пакетов (например, apt-get, yum)

Отложить некоторый трафик localhost

Добавить столбец на основе поискового запроса

Каковы плюсы и минусы ia32-libs?

Странное поведение скрипта bash

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