crontab -e, dann 0 * * * * = jede Stunde… Wo wird gespeichert


14

Nach sudo crontab -e (schrieb "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 All

Dann habe ich die Datei gespeichert. Und zu überprüfen ..? (wie? ich weiß nicht)

And to check I 
ps -e | grep cron
29818 ?        00:00:00 cron

Also .. aber ich entschied mich doch nochmal nachzuschauen

sudo cat /etc/cron.hourly
cat: /etc/cron.hourly: Is a directory
xi@localhost ~ $ sudo ls /etc/cron.hourly

Nichts! dh im Verzeichnis

Wie verstehe ich zuerst 0 in der Stundenposition bedeutet jede Stunde?


Ok, ich werde eine Stunde warten (die geringste Lücke in der Dokumentation)
Xsi

Sie wollen auf jeden Fall eine Frage von mir überprüfen. Es gibt eine Antwort von Stephane Chazelas, die erklärt, wie Sie eine interaktive Shell erstellen können, die mit der Umgebung identisch ist, die Ihr Cron-Job sehen wird. Wenn Sie seine kleine Prozedur durchlaufen, erhalten Sie eine Eingabeaufforderung und können Ihren Cronjob Schritt für Schritt testen und feststellen, wo er fehlschlägt. unix.stackexchange.com/a/56503/16841 Sicher, Ihre Frage stimmt nicht zu 100% überein, aber es kann Ihnen bei der Behebung von Crontab-Problemen helfen.
Hippie

Antworten:


24

Die Felder in Cron sind:

m      h       dom             mon     dow          command
Minute Hour    Day of Month    Month   Day of week  <command>

Und Ihr 0 * * * * <command>übersetzt dann in "Befehl zu jeder Stunde, jedem Tag, jedem Monat und jedem Wochentag ausführen, wenn die Minute 0 ist"

Sie können Ihre Crontab mit crontab -lauflisten, wie bereits erwähnt.

Nehmen Sie diesen Link hier, es gibt einige praktische Cron-Beispiele


Datum [-u | --utc | --universal] [MMDDhhmm [[CC] YY] [.ss]] Es ist wie, aber umgekehrt
Xsi

Was hat das mit cron zu tun?
Bonsi Scott

9

Ihre crontabund cron.hourlysind getrennte Einheiten. Wenn Sie etwas in Ihr System einfügen, wird crontabes nicht eingefügt cron.hourly, auch wenn es stündlich ausgeführt wird. Das Einfügen eines Skripts cron.hourlyist lediglich eine andere Möglichkeit, es stündlich auszuführen, crondh , Ihr Daemon überprüft sowohl Ihr crontab als auch cron.hourly . In beiden Fällen würde es zweimal ausgeführt.


Fri Nov 9 15:16:01 EET 2012 xi @ localhost ~ $ ls /var/log/cron.log ls: Zugriff auf /var/log/cron.log nicht möglich
Xsi

3

Sie können überprüfen, ob die Crontab installiert ist:

sudo crontab -l

Jede Stunde sollte eine Protokollnachricht erscheinen, in /var/log/syslogder sie ausgeführt wurde.

Weitere Lektüre:

http://www.linuxweblog.com/crotab-tutorial

Ich denke, dass die erste Null (0) die Minuten ist. Aber wenn Sie sagen, Sie möchten, dass etwas getan wird, wenn die Minuten 0 sind, wird es jede Stunde durchgeführt. Wie nur einmal pro Stunde sind die Minuten Null.



1

Wenn Sie tatsächlich nach Benutzer-Cron-Dateien suchen, um zu sehen, wann sie geändert wurden oder auf welche Art und Weise sie sich befinden, sollten /var/spool/cron/Sie die Dateien wahrscheinlich nicht manuell bearbeiten.


Nicht so sehr sollte wahrscheinlich nicht als sollte nicht . Der cronDämon bemerkt keine Änderungen, wenn Sie die Dateien direkt bearbeiten. Verwenden Sie stattdessen, um crontab -leine Liste für den aktuellen Benutzer crontab -ezu erstellen, diese für den aktuellen Benutzer zu bearbeiten und / oder um -u {user}auf diesen anderen Benutzer zuzugreifen crontab. Dies ist alles in der Manpage fürcrontab gut definiert .
Roaima

Ich glaube, es gibt Möglichkeiten, crondie Dateien automatisch auf Änderungen zu überprüfen, wenn Sie sie wirklich manuell aktualisieren müssen.
Molimo

Wenn Sie sie manuell aktualisieren müssen, verwenden Sie die crontabBenutzeroberfläche. dafür ist es da. Andernfalls müssen Sie den cronDämon anhalten und neu starten .
Roaima
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.