Bug#818698: does not convert crontabs correctly

Alexandre Detiste alexandre.detiste at gmail.com
Sun Mar 20 13:02:33 GMT 2016


control: reassign -1 systemd

It seems like systemd v229 broke timers:

https://github.com/systemd/systemd/issues/2682
https://archlinuxarm.org/forum/viewtopic.php?f=57&t=9892

And as systemd-cron is the only users of timers in Debian;
you're the first to notice; thanks !


Le dimanche 20 mars 2016, 12:44:42 Michael Meskes a écrit :
> On Sat, Mar 19, 2016 at 09:29:21PM +0100, Alexandre Detiste wrote:
> > Have a look at the generated files under /run/systemd/generator/cron-*.timer + cron-*.service
> > to have a proper comparaison basis.
> 
> Here we go.
> 
> timer:
> 
> [Unit]
> Description=[Timer] "14,44 * * * * foo"
> Documentation=man:systemd-crontab-generator(8)
> PartOf=cron.target
> RefuseManualStart=true
> RefuseManualStop=true
> SourcePath=/var/spool/cron/crontabs/michael
> 
> [Timer]
> Unit=cron-michael-michael-1.service
> OnCalendar=*-*-* *:14,44:00

There's nothing fancy to see here, but systemd-cron is about 500 lines of code
that are basically "done" now...

There's well an upload pending (need a sponsor)
to allow non-root to use crontab.


> Does it work for you?

No, it's broken here to since update to v229.

dim 2016-04-10 04:00:00 CEST  2 weeks 6 days left   jeu 2016-03-10 06:06:46 CET  1 weeks 3 days ago   cron-geoip-database-contrib-root-395a3d5cdb92d1db1ef3b21


cat /etc/cron.d/geoip-database-contrib 
#
# Regular cron job for the geoip-database-contrib package,
# used to update the GeoLite database.
#
PERSISTENT=true
0 4 10 * *      root    [ -x /usr/sbin/update-geoip-database ] && /usr/sbin/update-geoip-database > /dev/null

but...

LANG=C ls -l /var/lib/geoip-database-contrib/
total 49228
-rw-r--r-- 1 root root   835223 Feb  2 14:41 GeoIP.dat
-rw-r--r-- 1 root root  4072865 Feb  8 12:14 GeoIPASNum.dat
-rw-r--r-- 1 root root  4911614 Feb  8 12:14 GeoIPASNumv6.dat
-rw-r--r-- 1 root root  1567099 Feb  2 14:41 GeoIPv6.dat
-rw-r--r-- 1 root root 19136630 Feb  2 15:03 GeoLiteCity.dat
-rw-r--r-- 1 root root 19872602 Feb  2 14:35 GeoLiteCityv6.dat



cron.daily does work, that's why I didn't noticed.


systemd-delta
--- /lib/systemd/system/cron-daily.timer        2015-10-27 23:14:36.000000000 +0100
+++ /etc/systemd/system/cron-daily.timer        2014-11-28 06:43:52.083562712 +0100
@@ -7,5 +7,5 @@
 
 [Timer]
 Persistent=true
-OnCalendar=daily
+OnCalendar=*-*-* 06:21:00
 Unit=cron-daily.target

> > Wow, that's a big gun ! Downgrading!
> > "grave" would mean systemd-cron does corrupt your system,
> > break an other package or something, here according to you;
> > it just miss a first run of some backup job.
> 
> I completely and strongly disagree. Did you see my follow-up email, it *never*
> executed my foo job. It may be only serious, but it definitely is not fit for a
> release. 

Then systemd 229 is not fit for release.

> Keep in mind that it provides and replaces cron, but is not working as
> such, up to the point of being competely dysfunctional. Yes, I may be doing
> something wrong, but currently I have to remove the package and install cron
> again to get my system to perform normally again.

Well, biggest problem here is that I got involved into this while I hoped to get
some linux administror/programmer job; I don't even need/use crontabs myself.


> > systemd-cron was thought just a stop-gap to allow crontabs to fit in a systemd-enabled os 
> > while retaining sysvinit+cron compatibility for Debian packages depending on "cron | cron-daemon";
> > if you need some custom stuff or more enterprisey stuff; natives timers are the way to go.
> 
> I do not need any custom stuff or enterprisey stuff, whatever that is in this
> context. I just want the package to do, what it claims it does. 

With systemd 228 it works; waiting on 230 seems a rather bad fix;
so maybe backporting the fix to 229 ? But I can't handle that.


Greets,

Alexandre Detiste




More information about the Pkg-systemd-maintainers mailing list