Diskussion:Crontab

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen

Was noch fehlt:

  • Benutzer-Crontabs
  • Die /etc/*.d-Verzeichnisse

Jörg schreibt dazu noch:

/etc/crontab:
crond schaut jede Minute, ob sich die Datei verändert hat und liest sie ggf. automatisch neu.

/etc/cron.{hourly,daily,monthly}:
crond ruft run-parts auf, der einfach alle Scripts in den jeweiligen Verzeichnissen ausführt. Weil nichts zwischengespeichert wird, werden Änderungen sofort wirksam.

/etc/cron.d:
crond schaut jede Minute, ob sich die mtime (Modification-Time) _des Verzeichnisses_ geändert hat und liest dann alle darin enthaltenen Dateien neu ein.
Die mtime des Verzeichnisses ändert sich jedoch nur dann, wenn Dateien angelegt oder gelöscht wurden - nicht aber, wenn Dateien nur verändert wurden. Ändert man die Dateien mit vim, legt dieser während der Bearbeitung eine Temp-Datei an und aktualisiert dadurch die mtime des Verzeichnisses. Schreibt man jedoch per Script die eine Datei, bleibt die mtime des Verzeichnisses unverändert.
Wenn man also eine Datei aus /etc/cron.d per Kommandozeile oder Script ändert, muss nachher mit "touch /etc/cron.d" die mtime des Verzeichnisses neu gesetzt werden, damit crond die Änderungen übernimmt.

Achtung: Die mtime von /etc/crontab darf nicht in der Zukunft liegen, sonst weigert sich crond noch irgendwelche Aktualisierungen zu bemerken.

--Martin von Wittich 22:08, 21. Jun. 2007 (CEST)