Wejście do Crontab z zakresem godzin trwającym od północy

18

Czy to ważna specyfikacja czasu crontab, spełniająca oczekiwane wymagania:

0 22-4 * * *

A może trzeba zrobić coś takiego

0 22,23,0,1,2,3,4 * * *
hyde
źródło

Odpowiedzi:

5

Nigdy nie próbowałem użyć takiego zakresu i nie jestem pewien, czy to zadziała. Tak więc moją pierwszą radą byłoby przetestowanie go i zobaczenie, co się stanie - choć prawdopodobnie za pomocą skryptu, który zapisuje tylko dziennik lub coś innego nieszkodliwego.

Po drugie, dla crona ATT i BSD nie możesz mieć współistniejących zakresów i list, więc musisz albo wymieniać każdą godzinę osobno, albo mieć dwie linie, jedną z zakresem i jedną z listą.

Jenny D.
źródło
Zmodyfikowane pytanie, aby było ważne na ATT / BSD przez twoją odpowiedź. Właściwie piszę „moją” specyfikację crontab w konfiguracji zadania Jenkinsa (i przetestuję to dziś wieczorem przy pomocy manekina), ale proszę tutaj, aby dowiedzieć się, jakie jest oczekiwane zachowanie w systemie Unix / Linux.
hyde
Właściwie spodziewałbym się, że to nie zadziała i byłbym mile zaskoczony, gdyby tak się stało. Ale spodziewam się również, że cron narzeka, jeśli wprowadzisz nieprawidłowy zakres.
Jenny D
12

Miałem problemy z uruchomieniem cronjobs przed północą. W końcu wstawiłem dwa prawie identyczne wpisy dla zaangażowanych skryptów.

* 22-00 * * * /myscript
* 00-05 * * * /myscript

to chyba załatwiło sprawę.
Miałem problemy z cronem z powodu używania 22-05 i przez proces eliminacji wymyśliłem to rozwiązanie.

użytkownik73420
źródło
Tylko uwaga, wygląda na to, że nie działa */5, tj .:*/5 00-05 * * * /myscript
dentex
8

Wokół jest wiele różnych demonów cron, chyba że powiesz, którego dokładnie używasz (obsługa list w takich przypadkach narożnych może równie dobrze zmienić się z wersji na następną), nie może być odpowiedzi. Najlepiej jest wybrać swoją wyraźną listę. Nie byłbym zbyt zaskoczony, gdyby niektóre implementacje potraktowały cię jako dziwny sposób powiedzenia 4-22...

Czy twoja lokalna dokumentacja wspomina nawet o tego rodzaju sprawach? Może legalne są dwie listy, np. 22-24,1-4?

vonbrand
źródło
8
Mogę potwierdzić, że 22-23,0-4(zauważ, że crontab nie 24działa) działa idealnie, przynajmniej na centos, na których testowałem.
qwertyboy