[systemd-devel] timer unit doesn't fire again if service takes too long
Albert Strasheim
fullung at gmail.com
Thu Feb 14 00:47:32 PST 2013
Hello all
We have some systems running systemd-37-25.fc16.x86_64.
We have an issue where a timer unit doesn't fire again if its service
runs for too long.
We have a logrotate.timer unit that looks like this:
[Timer]
OnActiveSec=10 m
OnUnitActiveSec=10 m
[Install]
WantedBy=multi-user.target
and a logrotate.service that looks like this:
[Unit]
Description=Run logrotate
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/sbin/logrotate -v /etc/logrotate.conf
StandardInput=null
StandardOutput=syslog
StandardError=inherit
SyslogIdentifier=logrotate
SyslogFacility=local0
SyslogLevel=info
SyslogLevelPrefix=true
[Install]
WantedBy=multi-user.target
We rotate logs quite regularly because we have some that grow quite
quickly. From time to time, logrotate will do some work (gziping logs)
that takes much more than 10 minutes.
We've found that in this case, the timer never fires the service
again. It seems that it should run it again next time the interval is
up.
Unfortunately I don't have a newer systemd setup to test with right
now, but maybe someone wants to take a look to see if they think this
could still be a problem in the latest code?
F16 is EOL today so we'll upgrade systemd at some point. Hopefully
there's a fix waiting for us.
Cheers
Albert
More information about the systemd-devel
mailing list