diff --git a/sys-process/cronbase/files/run-crons-0.3.7 b/sys-process/cronbase/files/run-crons-0.3.7 index 42c88100df1..469296da93b 100755 --- a/sys-process/cronbase/files/run-crons-0.3.7 +++ b/sys-process/cronbase/files/run-crons-0.3.7 @@ -128,7 +128,8 @@ for BASE in hourly daily weekly monthly ; do continue fi - # Blow away stale states for this particular dir. + # Blow away stale states for this particular dir. For intervals longer + # than hourly, add one hour to avoid issues with DST transitions. lastrunfile="${LASTRUNDIR}/cron.${BASE}" if [ -e "${lastrunfile}" ] ; then case $BASE in @@ -136,14 +137,14 @@ for BASE in hourly daily weekly monthly ; do #>= 1 hour, 5 min -=> +65 min TIME="-cmin +65" ;; daily) - #>= 1 day, 5 min -=> +1445 min - TIME="-cmin +1445" ;; + #>= 1 day, 1 hour, 5 min -=> +1505 min + TIME="-cmin +1505" ;; weekly) - #>= 1 week, 5 min -=> +10085 min - TIME="-cmin +10085" ;; + #>= 1 week, 1 hour, 5 min -=> +10145 min + TIME="-cmin +10145" ;; monthly) - #>= 31 days, 5 min -=> +44645 min - TIME="-cmin +44645" ;; + #>= 31 days, 1 hour, 5 min -=> +44705 min + TIME="-cmin +44705" ;; esac find "${LASTRUNDIR}/" -name cron.$BASE $TIME -exec rm {} \; 2>/dev/null || :