Tut cron-Ausdruck in unix/linux erlauben die Angabe von genauen start-und Endtermine
Ich möchte in der Lage sein, zu konfigurieren, so etwas wie dieses.
- Ich will laufen-job bei 'X' an 7 BIN jeden Tag ab 29/Juni/2009 bis zum 30/12/2009. Betrachten Sie das aktuelle Datum als 4/4/2009.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es kann getan werden, in eine schwierige Art und Weise.
Müssen Sie drei separate
cron
Arbeitsplätze für diesen Bereich, die alle den gleichen code (X
in diesem Fall):"0 7 29,30 6 * X"
)."0 7 * 7-11 * X"
)."0 7 1-30 12 * X"
).Diese gibt Sie:
Dann stellen Sie sicher, dass Sie kommentieren Sie, vor Juni 29, 2010 um kommt. Sie können fügen Sie eine endgültige
cron
job am Dezember 31 per E-Mail, dass Sie muss deaktiviert werden.Oder Sie ändern könnte
X
sich sofort zu beenden, wenn das Jahr nicht 2009.Dann ist es nicht egal, wenn Sie vergessen, deaktivieren Sie die Arbeitsplätze.
Ja, meistens. Einige cron-Implementierungen Unterstützung für Jahre, manche nicht, so nehmen wir an, dass deins nicht. Auch ich mache die Annahme, dass dieser job nur ausgeführt wird, vom cron-daemon, so können wir die Verwendung der execute-bit, um zu bestimmen, ob oder nicht cron soll der job ausgeführt werden soll.
Beachten Sie, dass Sie benötigen, um lassen Sie Ihr Skript als nicht ausführbar, so lange, bis Sie ausgeführt werden soll.
Den folgenden cron-Ausdrücken werden tun, was Sie wollen (jeden Tag, auch am Wochenende). Tweak, wie Sie benötigen:
Normalerweise bin ich ein fan von halten der Logik, mit der das Programm ausgeführt wird. Man könnte meinen, über die Einrichtung eines cron-job, der das Skript ausgeführt wird, jeden Tag, dann haben Sie das Skript entscheidet allein, ob oder nicht es sollte etwas nützliches machen. Wenn der Letzte nützlich Tag (Dec 30) bestanden hat, wird Ihr script könnte man entfernen, die sich aus der crontab. Im Skript können Sie die Logik mit all die Kommentare, die notwendig ist, um zu beschreiben, was Sie tun und warum.
Wenn Ihr job ist ein Binär-Programm, können Sie eine run_script, das dies tut, Zeitplan filtern arbeiten vor Aufruf des Programms.
Können Sie diese verwenden, um zu generieren, eine crontab läuft in bestimmten Abständen:
http://www.robertplank.com/cron/
Oder diese
http://www.webmaster-toolkit.com/cron-generator.shtml
Eine Lösung wäre die Einrichtung 6 crons, 1 für jeden Monat, jeder würde laufen bei 7 bin jeden Tag in diesem Monat.
Es ist wahrscheinlich der einfachste Weg, die nächsten ein bis wäre, um ein Skript erstellen.
Nein, afaik kannst du das nicht tun.
Den cron-Felder halten Sie die Werte für Minuten, Stunden, Tag des Monats, Monat und Tag der Woche, beziehungsweise.
Können Sie es auf eine Reihe von bestimmten Monaten, wie die crontab-format akzeptiert reicht. Von April bis Dezember wäre 4-12 in diesem Fall für das Feld Monat. Aber das bedeutet nicht, berücksichtigen Ihre Wünsche, um diese limitiert auf 2009.
Gibt es keinen Mechanismus, um start-und Enddaten für den cronjob. Sie können immer dieses script natürlich. Machen Sie einen cronjob, jeden Tag laufen und prüfen Sie das aktuelle Datum vor 30/12. Wenn es 31/12 machen es selbst entfernen. Oder etwas mehr durchdacht.
Einen crontab von
tun würde, was Sie wollen, teilweise, aber es würde beginnen am 1. Juni und laufen bis Dezember 31. Überspringen Sie den ersten Teil des Juni und Dezember 31st hätte gescriptet werden in der X-Befehl.