[systemd-devel] timers always run when time changes

Likang Wang laborish at gmail.com
Thu Apr 30 18:35:20 PDT 2015


Hi all,

I hava a timer with the fellowing setting:

# cat /lib/systemd/system/updateimage.timer

[Unit]
Description=Update image
DefaultDependencies=false

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=false

[Install]
WantedBy=multi-user.target

And I want the timer call the same-name service only on 02:00:00 daily.

The entire system is running on an embedded box, and the system time will
be set to 2008-01-01 00:00:00 after every reboot. My app running on the box
will get the real time from my server and update time on the box after
every booting.(I could not use NTP or systemd-timesyncd for some other
reason)

Here is my problem.
When my app set the system time to real time, systemd will wake up the
updateimage.timer and run the updateimage.service no matter what time it it
now.The log looks like this:

Jan  1 08:14:00 systemd[1]: xxxxxx.service: cgroup is empty
Apr 30 21:04:00 systemd[1]: Time has been changed
Apr 30 21:04:00 systemd[1]: Set up TFD_TIMER_CANCEL_ON_SET timerfd.
Apr 30 21:04:00 systemd[1]: Timer elapsed on updateimage.timer
Apr 30 21:04:00 systemd[1]: Trying to enqueue job
updateimage.service/start/replace
Apr 30 21:04:00 systemd[1]: Installed new job updateimage.service/start as
9269


What I want is the timer and the same-name service only run exactly on
02:00:00 daily, but not when time changes. What should I do?


The systemd version : 215-17.


--
laborish
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150501/42c1b7da/attachment.html>


More information about the systemd-devel mailing list