Есть ли способ узнать, когда таймер systemd запустится в следующий раз?

Вы прочитали ВСЕ man update -motd ? Ближе к концу написано:

   Scripts should emit a blank line before output, and end with a  newline
   character.  For instance:

Итак, измените свой сценарий на:

#!/bin/sh
echo
echo "Welcome user: ${USER}. Today is $(date)"
19
13.12.2016, 09:49
3 ответа

Состояние текущих активных таймеров можно показать с помощью systemctl list-timers :

$ systemctl list-timers --all
NEXT                         LEFT     LAST                         PASSED       UNIT                         ACTIVATES
Wed 2016-12-14 08:06:15 CET  21h left Tue 2016-12-13 08:06:15 CET  2h 18min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

1 timers listed.
35
27.01.2020, 19:45

Из комментария и ответа @phg, я нашел страницу с ответом. Таймеры кумулятивные , и вам нужно сначала сбросить их, иначе предыдущая запись останется. Это полезно для календарей, но работает одинаково со всеми таймерами.

Наличие одной записи, которая сбрасывает таймер перед изменением его на новое значение, работает должным образом:

# This file was auto-generated by snapmanager.cgi
# Feel free to do additional modifications here as
# snapmanager.cgi will be aware of them as expected.
[Timer]
OnUnitActiveSec=
OnUnitActiveSec=30min
8
27.01.2020, 19:45

Нет, не появляется способ узнать, когда именно будет запускаться таймер. systemdпредлагает systemctl list-timersи systemctl status something.timer, но они не показывают влияние AccuracySec=и, возможно, других директив, которые сдвигают время.

Если вы установите AccuracySec=1hна двух серверах, они оба сообщат, что один и тот же таймер на обоих серверах сработает в одно и то же время, но на самом деле они могут запускаться с разницей в час! Если вам интересно узнать, могут ли два случайных таймера столкнуться,похоже, нет никакого способа проверить окончательное расчетное время выполнения, чтобы выяснить это.

Существует открытая проблема systemd , чтобы сделать вывод таймеров списка -более точным/менее запутанным.

Кроме того, существует опция RandomizedDelaySec, которая будет сочетаться с AccuracySecв соответствии с справочной страницей .

2
27.01.2020, 19:45

Теги

Похожие вопросы