[systemd-devel] Why timer does not start service properly?

Dennis Semakin insane79 at yandex.ru
Thu Aug 3 09:00:58 UTC 2017


Hello.

Recently I've upgraded systemd from v208 to v225.
There is a service which has to start every day at midnight, and timer unit file for it. Here they are:
--------------------------- service -----------------
[Unit]
Description=Srv starting
Conflicts=actdead.target

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/sbin/srv

[Install]
WantedBy=multi-user.target

------------------- timer ---------------------
Unit]
Description=Srv timer unit file
Conflicts=shutdown.target
Before=graphical.target

[Timer]
OnCalendar=*-*-* 00:00:00
OnBootSec=1h
Unit=srv.service

[Install]
WantedBy=multi-user.target

On systemd v208 everything works properly, but since it was upgraded to v225 service began to start not at midnight  but
at random time. It can happen at 10:00 pm or at 5:00 am. Sometimes it haven't been started at all.
It looks like systemd choose random time to start service for given day and if system were sleeping at the moment and systemd didn't have time to launch service, it postpone it.
Could anybody please give any explanation of this situation? Probably were there any modification of the logic for timers in new versions?

Thanks in advance.
Best regards.


More information about the systemd-devel mailing list