Znaczenie wpisu cron „* * / 1 * * *”?

14

Jakoś trudno mi zrozumieć poprawianie *parametrów za pomocą crona.

Chciałem, aby zadanie było uruchamiane co godzinę i użyłem poniższego ustawienia:

* */1 * * *

Ale wydaje się, że to nie działa. Czy ktoś mógłby wyjaśnić znaczenie powyższego i co jest potrzebne do pracy?

xyz
źródło
Ok, rozumiem teraz: Problem jest ze znakiem *, umieściłem w miejscu minut ... * / 1 i * w miejscu godziny prawdopodobnie oznacza to samo…
xyz
1
W rzeczywistości wygląda na to, że działałby co minutę! Jeśli w ogóle nie działa, masz inny problem. Jaki jest ciąg znaków po opublikowanej części?
dotancohen

Odpowiedzi:

24
  • *oznacza każdy .
  • */noznacza co n-ty . (Więc */1oznacza każdy 1 ).

Jeśli chcesz uruchomić go tylko raz na godzinę, musisz ustawić pierwszy element na coś innego *, na przykład, 20 * * * *aby uruchamiał go co godzinę o godzinie 20.

Lub jeśli masz uprawnienia do pisania /etc/cron.hourly/ (lub cokolwiek to jest w twoim systemie), możesz tam umieścić skrypt.

człowiek w pracy
źródło
1
Myślałem, że n oznacza co n-ty. Jaka jest zatem różnica między n a 1 / n?
xyz
7
noznacza dokładnie w n . Jak wyżej, 20 oznacza w minucie 20 . 1/noznacza począwszy od 1, co n-ty . Jednak w praktyce jest to stosowane jako 1-2/n, co oznacza w przedziale od 1 do 2, co n-ty . (Należy pamiętać, że nie wszystkie cronimplementacje obsługują interwały.)
manatwork
5
+1, aby po prostu upuścić go /etc/cron.hourlyna dowolnej nowoczesnej maszynie. Czekaliśmy na to dziesięciolecia i po to jest!
Aaron D. Marasco
2

*/1Jest zbędny, należy użyć *zamiast.

* */1 * * *

nie uruchamia zadania co godzinę, uruchamia je co minutę!
Aby uruchomić zadanie co godzinę (o 1:00, 2:00 itd.) Użyj

0 * * * *  
dr01
źródło