Системный таймер OnCalendar каждую минуту, заканчивающийся на 5

СOnCalendarsystemd timer, я могу создать что-то подобное, чтобы оно запускалось каждые 5 минут.

      OnCalendar=*:0/5

Можно ли запускать его только каждую минуту, заканчивающуюся на 5 (00:05, 00:15, 00:25...)?

И/или только каждую минуту, заканчивающуюся 0 (00:00, 00:10, 00:20...)?

Основная цель — установить таймер на двух серверах, чтобы каждый из них работал в свободное время; в случае сбоя одного другой будет запускаться как минимум каждые 10 минут (вместо 5).

2 ответа

Решение:

      OnCalendar=*:5/10

что эквивалентно*:5,15,25,35,45,55.

Чтобы быть уверенным в результате, используйте что-то вроде:

      systemd-analyze calendar --iterations=8 '*:5/10' | grep Iter
       Iter. #2: Sun 2022-02-20 00:25:00 CET
       Iter. #3: Sun 2022-02-20 00:35:00 CET
       Iter. #4: Sun 2022-02-20 00:45:00 CET
       Iter. #5: Sun 2022-02-20 00:55:00 CET
       Iter. #6: Sun 2022-02-20 01:05:00 CET
       Iter. #7: Sun 2022-02-20 01:15:00 CET
       Iter. #8: Sun 2022-02-20 01:25:00 CET

Я не уверен, что это варьируется от дистрибутива к дистрибутиву. В любом случае я использую RHEL8. Попробуй это:

      [Timer]
OnCalendar=*-*-* *:05,15,25,35,45,55:00

Использоватьsystemctl daemon-reloadкоманда, чтобы убедиться, что systemd знает об изменениях.

Примечание. Не следует редактировать файлы в каталоге /usr/lib/systemd. С помощью systemd вы можете скопировать файл модуля в каталог /etc/systemd/system и редактировать эту копию.

Другие вопросы по тегам