DOKK / manpages / debian 11 / systemd-cron / systemd-crontab-generator.8.en
SYSTEMD-CRONTAB-GENERATOR(8) systemd-crontab-generator SYSTEMD-CRONTAB-GENERATOR(8)

systemd-crontab-generator - translate cron schedules in systemd Units

/lib/systemd/system-generators/systemd-crontab-generator output_folder

systemd-crontab-generator is a generator that translates the legacy cron files (see FILES) into native systemd units & timers.

It is not meant to be run manually, it is called automatically by systemd.

It is run

*
during early boot,
*
a second time by cron-after-var.service, only if /var is a separate mount, in order to process user crontabs in /var/spool/cron/crontabs; if any,
*
after each manual updates to the cron files, (*)
*
and when distribution packages add files in /etc/cron.d/. (*)

(*): those are monitored by cron-update.path

systemd-crontab-generator implements the generator specification[1].

/etc/crontab
System crontab, see crontab(5).

/etc/cron.d
Directory for system crontabs provided by packages.

/etc/anacrontab
See anacrontab(5).

/var/spool/cron/crontabs
Directory for users crontabs.

/run/systemd/generator
Directory where the generated units are stored.

/run/crond.reboot
Flag used to avoid running @reboot jobs again after boot.

/var/lib/systemd/timers
Directory where systemd store time stamps needed for the Persistent feature.

With systemd >= 209, you can execute systemctl list-timers to have a overview of timers and know when they will elapse.

If you get errors like
/lib/systemd/system-generators/systemd-crontab-generator failed with error code 1.
in the journal, you can manually run
/lib/systemd/system-generators/systemd-crontab-generator /tmp
to get a more verbose error message.

systemd.cron(7),crontab(5),systemd.unit(5),systemd.timer(5)

1.
generator specification
http://www.freedesktop.org/wiki/Software/systemd/Generators

Konstantin Stepanov <me@kstep.me> for the generator
Alexandre Detiste <alexandre@detiste.be> for this man page

2014-06-29 systemd-cron 1.5.10