Was ist der Hauptunterschied zwischen dem Verzeichnis cron.d (wie in /etc/cron.d/
) und crontab
?
Soweit ich /etc/cron.d/my_non_crontab_cronjobs
weiß, könnte man eine Datei wie erstellen und alles, was man will, darin ablegen, so wie man sie crontab
über via einfügen würde crontab -e
.
Was ist der Hauptunterschied zwischen den beiden?
crontab
.Antworten:
Die Unterschiede sind in der
cron(8)
Manpage in Debian ausführlich dokumentiert . Der Hauptunterschied besteht darin, dass/etc/cron.d
separate Dateien vorhanden sind, währendcrontab
pro Benutzer eine Datei verwaltet wird. Es ist daher einfacher, den Inhalt der/etc/cron.d
Verwendung von Skripten (für die automatisierte Installation und Aktualisierung) und diecrontab
Verwendung eines Editors (für Endbenutzer wirklich) zu verwalten.Weitere wichtige Unterschiede sind , dass nicht alle Distributionen unterstützen
/etc/cron.d
, und dass die Dateien in/etc/cron.d
eine bestimmte Anzahl von Anforderungen gerecht zu werden (über gültigen Cronjobs ist): sie im Besitz von root werden muß, und müssen Übereinstimmenrun-parts
"Benennungskonventionen ( keine Punkte , nur Buchstaben, Ziffern, Unterstriche und Bindestriche).Wenn Sie verwenden erwägen
/etc/cron.d
, dann ist es in der Regel lohnt sich eine der Berücksichtigung/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
, oder/etc/cron.monthly
statt.quelle
cron.d
Regel über die Paketinstallation hinzugefügt, während die verschiedenencrontab
Dateien voll von Dingen sind, die von einem entsprechenden Benutzer erstellt wurden. IE, das Paketcertbot
oder fügt einen Eintragletsencrypt
eincron.d
- bevor das Paket verfügbar war, fügte der Systemadministrator (root) einen Eintrag im Root-Benutzer hinzu,crontab
der auf ein Shell-Skript / etc. Zeigt. um die Zertifikate auf dem neuesten Stand zu halten.(8)
anacron
.hourly|daily|weekly|monthly
Verzeichnisse ist, dass sie (AFAICT) immer als Root ausgeführt werden und die Ausführung mit geringeren Berechtigungen nicht direkt unterstützen.Ich würde sagen, der Hauptunterschied ist der offensichtliche:
/etc/crontab
und kann/etc/cron.d
nicht von regulären Benutzern geändert werden, während die Crontabs pro Benutzer darin bestehen,/var/spool/cron
dass dascrontab
Tool bearbeitet wird. (Vorbehaltlichcron.allow
undcron.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.
quelle