ich möchte ein Skript zweimal täglich um 00:00 und 13:30 ausführen, deshalb schreibe ich:
0,30 0,13 * * *
es scheint mir falsch zu sein, denn so wird das Skript um 00:00, 00:30, 13:00 und 13:30 ausgelöst. Irgendeine Idee ?
Warum nicht zwei Cron-Einträge einfügen? Eins für 00:00 und eins für 13:30? Ich glaube nicht, dass Sie mit einem Eintrag machen können, was Sie möchten, da die beiden Minutendefinitionen für beide Stundendefinitionen gelten (wie Sie sie identifiziert haben).
Die Alternative ist vielleicht, ein Skript um 00:00 Uhr auszuführen. Dieses Skript führt das ursprüngliche Skript aus, wartet dann 13,5 Stunden und führt es dann erneut aus. Das wäre mit einem einfachen Schlafbefehl einfach zu bewerkstelligen, aber ich denke, es ist nicht intuitiv , und ich bin nicht sicher, wie cron
solche lang laufenden Prozesse verwaltet (was passiert, wenn Sie die crontab
bearbeiten - tötet dadurch einen erzeugten Job usw.)
Versuchen Sie Folgendes: 00 01,13 * * *
es läuft um 1 uhr und 1 uhr
Sie können das nicht mit cron in einer einzelnen Zeile machen. Sie müssen zwei separate Zeilen erstellen, wie folgt:
# Will run "YourCommand" at 00:00
0 0 * * * YourCommand
# Will run "YourCommand" at 13:30
30 13 * * * YourCommand
Oder als einzelne Zeile können Sie alle x Stunden einen Befehl ausführen:
# Will run "YourCommand" every 12 hours
0 */12 * * * YourCommand
versuchen ...
00,30 00,13 * * * [ `date +%H%M` == 1330 ] || [ `date +%H%M` == 0000 ] && logger "its time"
30 0,13 * * * somecommand.sh
Dies ist nur ein Beispiel, aber Sie werden sehen, dass es sich um einen cron-Eintrag handelt, der um 0:30 Uhr und dann um 13:30 Uhr ausgeführt wird (13 ist 1 in der Militärzeit). Trennen Sie einfach die Stunden durch Kommas oder trennen Sie den Teil des Cron.