So führen Sie alle 2 Stunden einen Cron-Job aus

237

Wie kann ich eine Crontab schreiben, die mein /home/username/test.shSkript alle 2 Stunden ausführt ?

Vignesh
quelle

Antworten:

385

Mach einfach:

0 */2 * * *  /home/username/test.sh 

Die 0 am Anfang bedeutet, in der 0. Minute zu laufen. (Wenn es ein * wäre, würde das Skript jede zweite Stunde jede Minute ausgeführt.)

Vergessen Sie nicht, Sie können syslog überprüfen, um festzustellen, ob es jemals tatsächlich ausgeführt wurde!

Adam
quelle
@ ernest-conill Wie kannst du das sagen? Der Revisionsverlauf enthält keine Version, die anderen Code enthält: stackoverflow.com/posts/6423532/revisions
tutuDajuju
102

Die Zeile sollte entweder lauten:

0 0-23/2 * * * /home/username/test.sh

oder

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /home/username/test.sh
James Anderson
quelle
3
"0-23 / 2" - zwischen den Stunden 0 und 23 alle 2 Stunden.
James Anderson
0-23 / 2 viel besser als * / 2
Kad
2
@Kad warum ist es so?
Ciprian Tomoiagă
Was ist mit ungeraden Stunden? Kann ich +1 hinzufügen
Shravya Boggarapu
Wenn Ihr Cron es unterstützt, 0-23/2ist es jede gerade Stunde und 1-23/2jede ungerade Stunde, aber ich würde es */2immer noch vorziehen .
Betlista
4

0 * / 1 * * * "In Minute 0 nach jeder Stunde."

0 * / 2 * * * "In Minute 0 nach jeder 2. Stunde."

Dies ist der richtige Weg, um Cronjobs für jede Stunde einzustellen.

Bibin Joseph
quelle
0

So betreten Sie crontab:

crontab -e

Schreiben Sie dies in die Datei:

0 */2 * * * python/php/java yourfilepath

Beispiel:0 */2 * * * python ec2-user/home/demo.py

und stellen Sie sicher, dass Sie nach dem letzten Cron-Job in Ihrer Crontab-Datei eine leere Zeile haben

Suraj Kulkarni
quelle