У systemd свои расписания — таймеры. Они запускают службы и пишут всё в журнал.
Таймер — юнит с окончанием .timer. Он задаёт момент запуска, а что делать — описывает одноимённая служба .service. OnCalendar=daily — каждый день в полночь, OnActiveSec=5s — через пять секунд после запуска таймера. Как systemd поймёт календарное выражение, покажет systemd-analyze calendar 'Mon *-*-* 02:15': следующее срабатывание — в ближайший понедельник в 02:15.
Таймер включают так же, как службу в начале модуля о службах: enable — запуск при загрузке, start — сейчас, enable --now — то и другое. systemctl list-timers показывает у каждого таймера следующий запуск (NEXT) и прошлый (LAST). Служба, которую запускает таймер, обычно короткая: сделала работу и завершилась, до следующего срабатывания она inactive. Её вывод, в отличие от cron, попадает в журнал службы.
lab-report.timer — active (waiting), а lab-report.service — inactive (dead) с Result=success. Что это значит?
-
Result=success— последний запуск службы удался.inactiveзначит, что сейчас она не работает: сделала работу и завершилась. -
Службу запускает таймер, включают у такой пары таймер. Служба без своего
[Install]и не включается:systemctl is-enabledпишетstatic.
Короткая служба таймера делает работу и завершается, поэтому между срабатываниями она inactive. Следующий запуск показывает systemctl list-timers в столбце NEXT.
Главное в шаге
-
Таймер
.timerзадаёт момент, служба.service— работу. -
enableвключает таймер при загрузке,start— сейчас;systemctl list-timersпоказываетNEXTиLAST. -
Между срабатываниями служба таймера
inactive, и это норма.