focal (7) systemd.cron.7.gz

Provided by: systemd-cron_1.5.14-2_amd64 bug

NAME

       systemd.cron - systemd cron units

SYNOPSIS

       cron.target,   cron-hourly.timer,   cron-hourly.target,   cron-hourly.service,   cron-daily.timer,  cron-
       daily.target,  cron-daily.service,  cron-weekly.timer,  cron-weekly.target,  cron-weekly.service,   cron-
       monthly.timer, cron-monthly.target, cron-monthly.service, cron-update.path, cron-update.service.

DESCRIPTION

       These units provide cron daemon functionality by running scripts in cron directories.
       The  crontabs  are  monitored  by  cron-update.path  and are automatically translated by systemd-crontab-
       generator(8) .

FILES

       /etc/cron.hourly
              Directory for scripts to be executed every hour.

       /etc/cron.daily
              Directory for scripts to be executed every day.

       /etc/cron.weekly
              Directory for scripts to be executed every week.

       /etc/cron.monthly
              Directory for scripts to be executed every month.

       /etc/cron.d
              Directory for crontabs to be executed on a custom schedule.  The files in this folder must  follow
              the crontab(5) layout.
              If there exists a timer of the same name + '.timer' in /lib/systemd/system or /etc/systemd/system,
              this crontab will be ignored to enable a smooth migration to native timers.
              You can also use this to mask an unneeded crontab provide by a package:
              ln -s /dev/null /etc/systemd/system/[package].timer

SYSTEM UNITS

       cron.target
              The target unit which starts  the  others.  This  should  be  enabled  and  started  to  use  cron
              functionality.

       cron-schedule.timer
              The  timer  units  which  pull the cron-schedule.target units at the appropriate time. Started and
              stopped by the cron.target unit. These units cannot be controlled manually.

       cron-schedule.target
              The targets invoke all service units wanted by them, including cron-schedule.service.

       cron-schedule.service
              The service units which run scripts in the cron directories. Started  and  stopped  by  the  cron-
              schedule.target  units.  These  units  cannot be controlled manually. You can use journalctl(1) to
              view the output of scripts run from these units.

LIMITATIONS

       This cron replacement only send mails on failure. The log of jobs is saved in systemd  journal.   Do  not
       use with a cron daemon or anacron, otherwise scripts may be executed multiple times.
       All  services  are  run  with  Type=oneshot  , that means you can't use systemd-cron to launch long lived
       forking daemons.

EXTENSIONS

       The generator can optionally turn all crontabs in persistent timers with the PERSISTENT=true flag,  while
       a regular cron+anacron setup won't catch-up the missed executions of crontabs on boot.

EXAMPLES

       Start cron units
              # systemctl start cron.target

       Start cron units on boot
              # systemctl enable cron.target

       View script output
              # journalctl -u cron-hourly
              # journalctl -u cron-daily
              # journalctl -u cron-weekly
              # journalctl -u cron-monthly

       Override some generated timer start time
              # systemctl edit cron-geoip-database-contrib-root-<...>.timer --full
              keep existing statements, but change this one:
              [Timer]
              OnCalendar=*-*-* 18:36:00

       Override cron-daily.service priority, useful for old computers
              # systemctl edit cron-daily.service
              this  will open a blank editor when you can type a drop-in configuration file that will extend the
              current .service
              [Service]
              CPUSchedulingPolicy=idle
              IOSchedulingClass=idle

       Example service file executed every hour
              [Unit]
              Description=Update the man db

              [Service]
              Nice=19
              IOSchedulingClass=2
              IOSchedulingPriority=7
              ExecStart=/usr/bin/mandb --quiet

              [Install]
              WantedBy=cron-hourly.target

NOTES

       1. The exact times scripts are executed is determined by  the  values  of  the  special  calendar  events
          hourly, daily, weekly, monthly, and yearly defined by systemd.time(7).

       2. run-parts(8) is used to run scripts. Scripts must be executable by root to run.

DIAGNOSTICS

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

SEE ALSO

       systemd(1), systemd.unit(5), systemd.service(5),  systemd.target(5),  systemd.timer(5),  systemd.time(7),
       systemd-crontab-generator(8), crontab(5), run-parts(8)

AUTHOR

       Dwayne Bent