Planowanie Cron: Czy argument godziny jest w formacie 24h?

11

Czy muszę pisać crona w nocy o 4 rano, czy muszę pisać 4 * * * *?

I powinienem biec o 16:00 16 * * * *?

aneuryzm
źródło
Ponieważ Google wciąż obsługuje ten temat, nowi użytkownicy mogą chcieć dowiedzieć się o www.cronsandbox.com, gdzie możesz eksperymentować z różnymi wartościami czasu i zobaczyć harmonogram.
Art Stanmore,
Niestety wygląda na to, że www.cronsandbox.com już nie ma.
Jordania

Odpowiedzi:

14

Nie. Trwałoby to w 4 i 16 minucie każdej godziny.

Szukasz:

0 4,16 * * * command

To będzie działać zarówno o 4 rano, jak i 4 po południu.

Lub jeśli dwa polecenia są różne:

0 4 * * * command
0 16 * * * another_command
  1. Pierwsza kolumna ustawia minuty. W tych przykładach ustawiam go na 0, aby zdarzenie odbywało się o godzinie.

  2. W następnej kolumnie ustawiamy godzinę, o której ma on działać. Używamy wartości bezwzględnych, ale możesz używać */2ich „co drugą godzinę” itp.

  3. Kolejna kolumna mówi, że chcemy, aby tak się działo każdego dnia miesiąca.

  4. Kolejna kolumna oznacza miesiące, w których powinno to się uruchomić (w tym przypadku wszystkie).

  5. Ostatnia kolumna mówi, w które dni tygodnia może się uruchamiać. 0–7 (gdzie zarówno 0, jak i 7 to niedziela). *oznacza, że ​​może zadziałać w dowolnym dniu tygodnia.

Oli
źródło
dzięki, pełna odpowiedź. Znalazłem również ten artykuł, który naprawdę mi pomógł: thegeekstuff.com/2009/06/15-practical-crontab-examples
aneuryzm
0

Nie, to nieprawda. Znaczenie pól

* * * * *

odpowiednio dla każdego pola gwiazdki:

  • minuta (0–59)
  • godzina (0-23)
  • dzień miesiąca (1-31)
  • miesiąc (1-12)
  • dzień tygodnia (0–6) (niedziela = 0 lub 7)

Dlatego do codziennych 4 rano i 4 po południu powinieneś użyć:

0 4,16 * * *

Jeśli pozostawisz miejsce tak, jak *będzie to oznaczać każdą iterację tej jednostki czasu, tj. Każdą godzinę, codziennie itp.

Tutaj część 0 4,16oznacza, że ​​będzie działał o godzinie 0:00 i 16:00 (tj. 4:00 i 16:00). Jeśli chcesz go uruchomić, powiedzmy, że 15 minut od 4 rano i 4 po południu zamiast tego zmienisz go na 15 4,16 * * *(tj. 4:15 i 16:15).

Arthur Knopper
źródło
8
Niepoprawne. Trwałoby to co minutę w godzinach 4:00 i 16:00. np .: 04:00, 04:01, 04:02 itd.
Oli
Ta odpowiedź powinna zostać usunięta. To jest teraz słynne pytanie i nie chcemy, aby ludzie odpowiadali na to pytanie z nieprawidłowymi odpowiedziami.
fosslinux
@Oli Odpowiedź właśnie została poprawiona.
Melebius