System Crontab oder Root Crontab

10

System crontab:

/etc/crontab

Wurzel crontab:

sudo crontab -u root -e

Welcher Weg wird bevorzugt? Da sie alle Aufgaben innerhalb der Administratorrechte ausführen.

Pei Z.
quelle

Antworten:

14

/etc/crontab ist die systemweite Crontab.

Das Format von /etc/crontabist wie folgt:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

Während crontab -ees sich um einen Benutzer handelt, ist es erwähnenswert, dass -uder Befehl crontab ohne Argument an die crontab des aktuellen Benutzers gesendet wird. Sie können die crontab -e -u <username>Crontab eines bestimmten Benutzers bearbeiten.

Beachten Sie, dass in einer Crontab pro Benutzer kein Feld "Benutzer" vorhanden ist.

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

Ein Aspekt von Crontabs, der verwirrend sein kann, ist, dass die Wurzel auch eine eigene Crontab hat. zB crontab -e -u rootwird nicht bearbeitet /etc/crontab Siehe Cron konfigurieren .

In Linux-Distributionen werden Crontabs pro Benutzer normalerweise gespeichert in: /var/spool/crontabs/<username>

Verweise

/superuser/290093/difference-between-etc-crontab-and-crontab-e

Ramesh
quelle
2
Wie Congiruring Cron sagt: Es ist normalerweise nicht erforderlich, eine Benutzer-Crontab für Root zu erstellen. Ist das wahr? Ich meine, die Standardmethode ist das Bearbeiten der Datei / etc / crontab. Stimmt das?
Pei Z
2
Es gibt keinen "Standard" Weg, daher können Sie beide Dateien haben. Normalerweise bearbeite /etc/crontabich Roots Crontab und vermeide es, nur weil ich es gewohnt bincrontab -e
Phoops
7

/etc/cron.d (und seine Geschwister cron.daily / wöchentlich / monatlich) wird für alle System-Crontabs bevorzugt. Sie sollten / etc / crontab nicht berühren müssen.

Es ist wichtig, Cron-Einträge in mehreren Dateien nach ihrer Funktionalität zu trennen, wenn Sie planen, Dinge zu verwalten oder zu automatisieren. Dateien unter /etc/cron.d können einfach mit Paketen oder Konfigurationsverwaltungstools wie Puppet und Chef verwaltet werden. Roots Crontab OTOH kann von nichts anderem als vom Menschen praktisch nicht gewartet werden.

Kurz gesagt, für Systemaufgaben können Sie /etc/cron.* verwenden. Wenn der Root-Benutzer etwas tun soll, verwenden Sie die crontab von root. / etc / crontab sollte unberührt bleiben und von einem Paket verwaltet werden.

V13
quelle