On Montag, 4. Februar 2008, Andre Tann wrote:
Neuere SuSE-Versionen machen das IIRC so, daß der jeweilige cron-Lauf von der Laufzeit des vorangegangenen Jobs abhängt. Also zB für daily: wenn /var/spool/cron/lastrun/cron.daily älter als 24 Stunden ist, dann wird der nächste Lauf gestartet.
Wenn man das nicht will, und lieber die Laufzeiten selbst bestimmt, dann legt man eine crontab mit folgendem Inhalt an:
# cat /etc/crontab [...] -*/15 * * * * root test -x /usr/lib/cron/run-crons \ && /usr/lib/cron/run-crons >/dev/null 2>&1 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 14 4 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 4 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 4 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
Die letzten vier Zeilen enthalten die Zeitpunkte, wann die lastrun-Dateien gelöscht werden. Eine Minute später kommt crond wegen der ersten Zeile wieder angewackelt und prüft das Alter der entsprechenden Datei. Fehlt sie oder ist sie zu alt, dann werden die Jobs entsprechend angeschubst.
Und wieder was dazugelernt. :-)
Alles im einzelnen übrigens nachzulesen in /usr/lib/cron/run-crons ;)
Auf diesen Ort wäre ich nie gekommen um dort nach einer Dokumentation zu schauen... MfG Marco