Bloggings

Back

Anacron on Artix

2025-06-16
On Arch Anacron is a systemd process

Anacron ensures cron scripts are run on machines that are frequently powered off

On Artix it can be run via cron (cronie)

The /etc/crontab file

# /etc/crontab: configuration file for cron # See cron(8) and crontab(5) for details. # m h dom mon dow user command SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts # (also runs the 0anacron script every hour) 12 * * * * root run-parts /etc/cron.hourly 22 10 * * * root run-parts /etc/cron.daily 32 10 * * 0 root run-parts /etc/cron.weekly 42 10 1 * * root run-parts /etc/cron.monthly

The /etc/cron.hourly/0anacron script

#!/bin/sh # Check whether 0anacron was run today already if test -r /var/spool/anacron/cron.daily; then day=`cat /var/spool/anacron/cron.daily` fi if [ `date +%Y%m%d` = "$day" ]; then exit 0; fi # Do not run jobs when on battery power if test -x /usr/bin/on_ac_power; then /usr/bin/on_ac_power >/dev/null 2>&1 if test $? -eq 1; then exit 0 fi fi /usr/sbin/anacron -s

The /etc/anacrontab file

# /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly

 


ยง