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 ?

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!


@ 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

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.


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

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.