Jak mogę uruchamiać polecenie co sześć godzin każdego dnia?
Próbowałem następujących rzeczy, ale nie zadziałało:
/6 * * * * * mycommand
Jak mogę uruchamiać polecenie co sześć godzin każdego dnia?
Próbowałem następujących rzeczy, ale nie zadziałało:
/6 * * * * * mycommand
Odpowiedzi:
Zapomniałeś o jednym *
, a masz za dużo pól. To godzina, o którą musisz się troszczyć
0 */6 * * * /path/to/mycommand
Oznacza to, że co szósta godzina zaczynając od 0, czyli w godzinie 0, 6, 12 i 18, którą można by zapisać jako
0 0,6,12,18 * * * /path/to/mycommand
15 15,23,05,11 * * * /path/to/mycommand
?
0 15,21,3,9 * * *
)
Powinieneś dołączyć ścieżkę do swojego polecenia, ponieważ cron działa w mocno ograniczonym środowisku. Nie będziesz mieć wszystkich zmiennych środowiskowych, które masz w swojej interaktywnej sesji powłoki.
Dobrym pomysłem jest określenie bezwzględnej ścieżki do skryptu / pliku binarnego lub zdefiniowanie PATH w samej tabeli crontab. Aby pomóc w debugowaniu wszelkich problemów, przekierowałbym również stdout / err do pliku dziennika.
export variable=something
mogę nadal używać ich w tym samym skrypcie? i często używam polecenia daty w skrypcie
Zwróć uwagę na tę składnię :
* */6 * * *
Oznacza to 60 razy (co minutę) co 6 godzin,
nie
raz na 6 godzin.
0 */6 * * *
crontab co 6 godzin to powszechnie stosowany harmonogram cron.
Musisz użyć *
0 */6 * * * /path/to/mycommand
Możesz również skorzystać z https://crontab.guru/, który pomoże ci w lepszym planowaniu ...
Próbować:
0 */6 * * * command
. * musi