Unterschied zwischen / etc / crontab und "crontab -e"


42

Was ist der Unterschied zwischen der Crontab in /etc/crontabund der Crontab, die mit bearbeitet werden kann crontab -e?

Antworten:


51

Wie Ignacio sagte, /etc/crontabist die Crontab systemweit.

Das Format von /etc/crontabist wie folgt:

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

while crontab -eist pro Benutzer, es ist erwähnenswert, dass -uder Befehl crontab ohne Argument an den aktuellen Benutzer crontab geht. Sie können die crontab -e -u <username>crontab eines bestimmten Benutzers bearbeiten.

Beachten Sie, dass es in einer Pro-Benutzer-Registerkarte kein Benutzerfeld gibt.

# 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 den meisten Linux-Distributionen werden Crontabs pro Benutzer normalerweise in /var/spool/cron/crontabs/<username>(vixie-cron) gespeichert .

RHEL-basierte Distributionen werden in gespeichert /var/spool/cron/<username>. (cronie)


Zu Ihrer Information, der oben angegebene Pfad ist falsch: Crontabs pro Benutzer werden in / var / spool / cron / crontabs / <Benutzername> gespeichert (ich habe zweimal versucht, diese einfache Korrektur einzureichen.)
— MartyMacGyver

1
... und es ist jetzt korrigiert.
— MartyMacGyver

Tatsächlich ist es in /var/spool/cron/rootder benutzerspezifischen crontab von root auf einem RHEL 6-System gespeichert . Ich habe Ubuntu nicht überprüft, aber "typisch" zu sagen, scheint ein bisschen schwierig zu sein.
— Wildcard

@Wildcard Ich denke, "typisch" ist ein faires Wort. RHEL Distributionsschiff w / "cronie" (und Anacron, glaube ich), die ihre Gabelung von ISC-Cron / Vixie Cron ist. Ich denke nicht, dass das eine Strecke ist, auf jeden Fall habe ich meine Antwort aktualisiert, um mehr Details einzuschließen.
— Skrewler

Um einen schnellen Überblick über die Pfade in verschiedenen Distributionen zu erhalten, suchen Sie path[crontabs]in der CFEngine-Bibliothek nach der Zeichenfolge und überprüfen Sie den Kontext (die vorhergehenden Kontextzeilen sehen z redhat::. B. so aus ). Es gibt mehr Abwechslung als Sie denken; zB SUSE legt sie in /var/spool/cron/tabs. (Das Abstrahieren von Distro-Unterschieden ist einer der Gründe, warum CFEngine ursprünglich erstellt wurde. Daher ist dies häufig eine gute Referenz.)
— Wildcard

5

Eine ist die System-Crontab und kann nur von root bearbeitet werden, die andere ist die Benutzer-Crontab und kann von einem Benutzer bearbeitet werden und ist pro Benutzer vorhanden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.