Błąd: zła godzina; podczas czytania / etc / crontab

1

Moje crony są następujące, błąd w / var / log / syslog to tytuł postu.

# week
*/2 12/1 * * 1-5 tills13 python3 /home/tills13/script.py --sync
1/2 12/1 * * 1-5 tills13 python3 /home/tills13/script.py --sync

# weekends
*/2 9/1 * * 0,6 tills13 python3 /home/tills13/script.py --sync
1/2 9/1 * * 0,6 tills13 python3 /home/tills13/script.py --sync

Użyłem tego narzędzia do generowania / sprawdzania poprawności moich cronów. Używam Ubuntu 15.04.

Zasadniczo chciałbym, aby uruchamiał się co godzinę po południu w dni powszednie (pierwsze dwa) i co godzinę po 9 rano w weekendy (drugie dwa).

Tyler Sebastian
źródło

Odpowiedzi:

4

W zależności od smaku crona, może nie lubić notacji.

Zamiast starać się, aby był super kompaktowy, po prostu powiedz mu, co chcesz, aby był bardziej akceptowalny dla większości / wszystkich wersji mody cron. Może mieć tę zaletę, że jest bardziej oczywista dla większej liczby ludzi. To prosty system - naprawdę nie powinieneś potrzebować „narzędzia” do tworzenia crontabu poza edytorem tekstu. Ponieważ południe dzieje się po 9, musisz podać „specjalny przypadek” dla 9, 10 i 11 w niedzielę i sobotę.

# every day at 2 minutes past the hour from Noon to 11 PM
2 12-23 * * * tills13 python3 /home/tills13/script.py --sync
# weekends at 2 past the hours of 9, 10 and 11
2 9-11 * * 0,6 tills13 python3 /home/tills13/script.py --sync

Powinien również pracować na weekend (niedziela to 0 i 7):

2 9-11 * * 6-7 tills13 python3 /home/tills13/script.py --sync

jeśli chcesz co godzinę po 2 minutach.

Nie zadałem sobie trudu, aby w pełni zdekodować notację / (nie pamiętam jej z moich cron dni 30 lat temu, a artykuł w Wikipedii nie jest wyczerpujący WRT), ale jeśli naprawdę chcesz co 2 minuty, po prostu je wypisz - 2, 4,6,8,10,12 (itp.)

9-11 w polu godziny odpowiada 9,10,11 (na przykład) i może być napisane w obie strony i pracy. Jeśli wolisz uruchamiać godzinę, zmień 2 w polu minut na 0.

Minute Hour Day-of-Month Month Day-of-Week Commandto wszystko, co jest dostępne w standardowej notacji crontab, z zakresami 0-59, 0-23, 1-31, 1-12, and 0-6 (but 7 is commonly accepted as 0 here)- pola czasu mogą mieć listy rozdzielone przecinkami lub zakresy rozdzielone myślnikiem, lub * oznacza, że ​​wszystkie - białe znaki oddzielają pola.

Ecnerwal
źródło