Wie kann ich festlegen, dass Cron alle eineinhalb Stunden bestimmte Befehle ausführt?
Wie kann ich cron ausführen bestimmter Befehle alle anderthalb Stunden?
InformationsquelleAutor der Frage Nick Long | 2008-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist nicht möglich, mit einer einzigen expression in normalen
cron
.Das beste, was Sie tun konnte, ohne den code ändern ist:
Diese könnte komprimiert werden, abhängig von der version von cron, müssen Sie:
InformationsquelleAutor der Antwort Alnitak
Gibt es einen guten Grund, warum Sie nicht verwenden können, 1 Stunde oder 2 Stunden? Einfacher wäre es für Sie sicher.
Ich habe nicht versucht, diese persönlich, aber du findest einige Infos hier auf der erste cron laufen alle 90 Minuten: http://keithdevens.com/weblog/archive/2004/May/05/cron
Einer excert aus dem obigen link:
InformationsquelleAutor der Antwort vfilby
Zwei Zeilen in die crontab. Entlang der Linien von:
InformationsquelleAutor der Antwort ConcernedOfTunbridgeWells
Könnte man es machen, mit zwei crontab-Einträge. Jeder läuft alle drei Stunden, und Sie sind offset von 90 Minuten etwa wie folgt:
0 0,3,6,9,12,15,18,21 * * *
30 1,4,7,10,13,16,19,22 * * *
InformationsquelleAutor der Antwort Thomas DeGan
InformationsquelleAutor der Antwort user3174711
*/10 * * * * root perl -e 'exit(time()%(90*60)>60)' && command
90 — es ist eine und eine halbe Stunde in Minuten
"> 60" — ich gebe cron-Fähigkeit zu verzögern den start von Skripts, die während einer minute
Auch mit Hilfe dieser hack-Sie können einen beliebigen Zeitraum mit einer minute Auflösung
Beispielsweise starten Sie das Skript alle 71 Minuten
* * * * * root perl -e 'exit(time()%(71*60)>60)' && command
InformationsquelleAutor der Antwort Alex
Könnten Sie auch fcron die akzeptiert auch komplexere Zeitangaben wie :
InformationsquelleAutor der Antwort Christian Lescuyer
Können Sie erreichen, jede Frequenz, wenn Sie zählen die Minuten (Stunden, Tage, oder Wochen), da Epocheeine Bedingung hinzufügen, um die oben in Ihrem Skript, und legen Sie das Skript jede minute ausführen auf Ihrem crontab:
date(1)
gibt aktuelle Datum, formatieren wir es als Sekunden seit Epoche (%s
) und dann machen wir einfache Mathematik:Und Sie können diese Vorgehensweise mit stündlichen, täglichen oder monatlichen cron-jobs:
InformationsquelleAutor der Antwort stefanmaric
ergänzt die folgenden meine crontab und arbeitet
InformationsquelleAutor der Antwort user3782709