:: Re: [DNG] Crontab depends on Anachr…
Top Page
Delete this message
Reply to this message
Author: g4sra
Date:  
To: dng
Subject: Re: [DNG] Crontab depends on Anachron which is not installed by default?
On 10/10/2020 15:38, Mike Tubby wrote:
> All,
>
> I've just discovered that my various Devuan systems aren't running cron.daily or cron.weekly tasks because /etc/crontab performs a test on anacron being present.

Not quite...

cron will NOT run if anacron IS installed AND IS executable.


If anacron is not installed, cron jobs will be skipped if the system is powered down at the time the job is due to run.

If anacron is installed, it will check for any outstanding jobs at boot and run them.
NOTE: this depends on a correct clock and filesystem timestamping ('noatime' will break it).
Check your Devuan systems for the above, if anacron is not running on a sever, this is the most probable cause.
Laptops are subject to power management settings which may also stop anacron from running.


>  However /etc/crontab doesn't need anacron for cron.hourlyIt is still there as anacrontab is not configured for /etc/cron.hourly by default

If it is missed by being powered down, worst case is a 59 miniute wait and it will be run.

cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly




24/7/365 Servers usually don't benefit from anacron
Laptops & Workstations at the mercy of power cycling Users usually do

>
> # /etc/crontab: system-wide crontab
> # Unlike any other crontab you don't have to run the `crontab'
> # command to install the new version when you edit this file
> # and files in /etc/cron.d. These files also have username fields,
> # that none of the other crontabs do.
>
> SHELL=/bin/sh
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
>
> # Example of job definition:
> # .---------------- minute (0 - 59)
> # |  .------------- hour (0 - 23)
> # |  |  .---------- day of month (1 - 31)
> # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
> # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
> # |  |  |  |  |
> # *  *  *  *  * user-name command to be executed
> 17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
> 25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
> 47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
> 52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
>
>
> Why do we need anacron at all?  Surely we can just do:
>
> 17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
> 25 6    * * *   root    cd / && run-parts --report /etc/cron.daily
> 47 6    * * 7   root    cd / && run-parts --report /etc/cron.weekly
> 52 6    1 * *   root    cd / && run-parts --report /etc/cron.monthly
>
>
> ... or am I missing something?
>
>
> Mike
>
>
>
>
> _______________________________________________
> Dng mailing list
> Dng@???
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng