Re: [DNG] Crontab depends on Anachron which is not installed by default?
On Sat, 2020-10-10 at 16:35 +0100, g4sra via Dng wrote: > If anacron is installed, it will check for any outstanding jobs at > boot and run them. > [snip] > Laptops are subject to power management settings which may also stop > anacron from running. > If you use sleep or hibernate these can cause issues for anacron and the jobs that it schedules (whether on a laptop or desktop,on a server that runs continuously you wouldn't use anacron). If you use pm-utils (pm-hibernate, etc). you can stop/start anacron when you sleep/wake the PC. I hibernate mine overnight, rather than shut it down. When I wake it the following day it will then runs anacron. Anacron updates itself to the current day and then starts the jobs in etc/cron.daily and when appropriate etc/cron.weekly and /etc/cron/monthly. If I don't enable this and the default run time for anacron is when I'm sleeping e.g. 05:30 then it will never execute. Obviously once you'vwe woken it you then need to have the machine stay awake until the jobs have run. To get pm-utils to do this create file /usr/lib/pm-utils/95anacron, with content: #!/bin/sh # This script makes anacron jobs stop/start when a workstation # enters/exits a suspended/hibernated state. # case $1 in resume|thaw) /usr/sbin/invoke-rc.d anacron start >/dev/null ;; suspend|hibernate) /usr/sbin/invoke-rc.d anacron stop >/dev/null ;; esac -- Marjorie ___ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
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 @monthly15 cron.monthlyrun-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@lists.dyne.org > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng ___ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
[DNG] Crontab depends on Anachron which is not installed by default?
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. However /etc/crontab doesn't need anacron for cron.hourly: # /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@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng