Irgendwie finde ich es schwierig zu verstehen *
, wie man mit cron Parameter verändert.
Ich wollte, dass ein Job jede Stunde ausgeführt wird, und habe die folgende Einstellung verwendet:
* */1 * * *
Aber es scheint nicht den Job zu machen. Könnte jemand bitte die Bedeutung von oben erklären und was für den Job benötigt wird?
Antworten:
*
bedeutet jeder .*/n
bedeutet jeden n . (Also*/1
bedeutet jeder 1. )Wenn Sie es nur einmal pro Stunde ausführen möchten, müssen Sie das erste Element auf einen anderen Wert setzen
*
, beispielsweise20 * * * *
, um es stündlich in Minute 20 auszuführen.Oder wenn Sie die Berechtigung haben, /etc/cron.hourly/ (oder was auch immer auf Ihrem System vorhanden ist) zu schreiben, können Sie dort ein Skript platzieren.
quelle
n
bedeutet genau bei n . Wie oben bedeutet 20 in Minute 20 .1/n
bedeutet ab 1, jede nte . In der Praxis wird dies jedoch als1-2/n
, dh im Intervall von 1 bis 2, jedes n-te verwendet . (Beachten Sie, dass nicht allecron
Implementierungen Intervalle unterstützen.)/etc/cron.hourly
auf einer modernen Maschine abzulegen. Wir haben jahrzehntelang darauf gewartet, und dafür ist es da!Das
*/1
ist überflüssig, du solltest*
stattdessen verwenden.führt den Job nicht jede Stunde aus, sondern jede Minute!
Verwenden Sie, um einen Job stündlich auszuführen (um 1:00, 2:00 usw.)
quelle