it-swarm.com.de

Was ist der Unterschied zwischen cron.d (wie in /etc/cron.d/) und crontab?

Was ist der Hauptunterschied zwischen dem Verzeichnis cron.d (wie in /etc/cron.d/) Und crontab?

Soweit ich weiß, könnte man eine Datei wie /etc/cron.d/my_non_crontab_cronjobs Erstellen und alles einfügen, was man will, so wie man sie über crontab -e In crontab einfügen würde.

Was ist der Hauptunterschied zwischen den beiden?

18
Arcticooling

Die Unterschiede sind ausführlich in der Manpage cron(8) in Debian dokumentiert. Der Hauptunterschied besteht darin, dass /etc/cron.d Mit separaten Dateien gefüllt ist, während crontab eine Datei pro Benutzer verwaltet. Es ist daher einfacher, den Inhalt von /etc/cron.d mithilfe von Skripten (für die automatische Installation und Aktualisierung) zu verwalten und crontab mithilfe eines Editors (für Endbenutzer wirklich) zu verwalten.

Andere wichtige Unterschiede sind, dass nicht alle Distributionen /etc/cron.d Unterstützen und dass die Dateien in /etc/cron.d Eine bestimmte Anzahl von Anforderungen erfüllen müssen (abgesehen davon, dass es sich um gültige Cron-Jobs handelt): Sie müssen Eigentum von root sein. und muss den Namenskonventionen von run-parts entsprechen ( keine Punkte , nur Buchstaben, Ziffern, Unterstriche und Bindestriche).

Wenn Sie die Verwendung von /etc/cron.d In Betracht ziehen, sollten Sie stattdessen eine der Optionen /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly Oder /etc/cron.monthly In Betracht ziehen.

24
Stephen Kitt

Ich würde sagen, der Hauptunterschied ist der offensichtliche: /etc/crontab und /etc/cron.d können von regulären Benutzern nicht geändert werden, während die Crontabs pro Benutzer in /var/spool/cron dass das crontab Tool bearbeitet wird, sind. (Vorbehaltlich cron.allow und cron.deny natürlich.) Natürlich können Sie auf einem System, auf dem Sie der Administrator sind, beides verwenden. Auf einem gemeinsam genutzten System können die regulären Benutzer nur einen verwenden.

Damit verbunden ist das zusätzliche Feld in den systemweiten Dateien, der Benutzername, unter dem der Job ausgeführt wird.

5
ilkkachu