Jak mogę uzyskać zadanie CRON uruchamiane co 30 minut?
224
Chcę dodać crontabwpis, aby wykonać skrypt co 30 minut, o godzinie i 30 minut po godzinie lub coś blisko. Mam następujące, ale wydaje się, że nie działa na 0.
Według oficjalnych Mac OS X crontab (5) podręcznika The /składnia jest obsługiwana. Dlatego, aby dowiedzieć się, dlaczego to nie zadziałało, musisz spojrzeć na dzienniki Crona. W tych logach powinieneś znajdować się wyraźny komunikat o błędzie.
Uwaga: Wydaje się, że Mac OS X używa Vixie Cron, podobnie jak Linux i BSD.
Zawsze z powodzeniem używałem * / 30, ale nie przypominam sobie mojej aplikacji, w której było to zbyt krytyczne, gdyby działała tylko raz na godzinę, więc nie sądzę, żebym kiedykolwiek sprawdził.
Adam Hawes,
2
@Adam Hawes: W przeszłości z powodzeniem używałem * / xx, ale na Linuksie i innych systemach UNIX. Nie próbowałem osobiście Mac OSX. Pierwotne pytanie nie mówiło, który system operacyjny. Niektóre starsze systemy UNIX nie obsługują * / xx
Eddie
Twoja odpowiedź również zadziałała, ale Vlad ma mniej przedstawicieli, więc dałem mu punkty.
Darryl Hein,
1
@DarrylHein lol, Today Eddie ma mniej powtórzeń :-p. Głosuję za Eddiem.
początkujący
10
Jeśli twoje zadanie cron działa tylko w systemie Mac OS X, możesz zamiast tego użyć polecenia uruchomione.
Wspomniałeś, że używasz OS X- W przeszłości używałem cronnix . Nie jest tak maniakalny, jak samodzielna edycja, ale pomógł mi dowiedzieć się, jakie kolumny są w mgnieniu oka. Tylko myśl.
Możesz użyć obu symboli „ , ” LUB podzielić ” / ”. Ale „ / ” jest lepsze. Załóżmy przypadek „co 5 minut”. Jeśli używasz „ , ”, musisz napisać zadanie cron w następujący sposób:
0,5,10,15,20,25,30,35,.... * * * * your_command
Oznacza to, że uruchamiaj komendę co godzinę we wszystkich określonych minutach: 0,5,10, ...
Jeśli jednak użyjesz „/”, możesz napisać następujące proste i krótkie zadanie:
*/5 * * * * your_command
Oznacza to uruchomienie komendy w minutach, które można podzielić przez 5 lub prościej: „0,5,10, ...”
Tak więc symbol podzielny
”/” jest zawsze najlepszym wyborem;
Odpowiedzi:
Robić:
źródło
0,30 * * * * root your_command
gdzie root byłby użytkownikiem, którego używam.crontab nie rozumie „interwałów”, tylko „harmonogram”
ważne godziny: 0-23 - ważne minuty: 0-59
Przykład 1
30 * * * * your_command
oznacza to „uruchom, gdy minuta każdej godziny będzie 30 ” (uruchomi się o: 1:30, 2:30, 3:30 itp.)
przykład nr 2
*/30 * * * * your_command
oznacza to „biegnij, gdy minuta każdej godziny jest równomiernie podzielna przez 30 ” (biegnie o: 1:30, 2:00, 2:30, 3:00 itd.)
przykład nr 3
0,30 * * * * your_command
oznacza to „uruchom, gdy minuta każdej godziny wynosi 0 lub 30 ” (uruchomi się o: 1:30, 2:00, 2:30, 3:00 itp.)
to kolejny sposób na osiągnięcie takich samych wyników jak w przykładzie 2
przykład nr 4
19 * * * * your_command
oznacza to „biegnij, gdy minuta każdej godziny wynosi 19 ” (biegnie o: 1:19, 2:19, 3:19 itd.)
przykład # 5
*/19 * * * * your_command
oznacza to „biegnij, gdy jest minuta każdej godziny równo podzielna przez 19 ” (biegnie o: 1:19, 1:38, 1:57, 2:19, 2:38, 2:57 itd.)
Uwaga: w tym poście wprowadzono kilka udoskonaleń przez różnych użytkowników, w tym autora
źródło
Spróbuj tego:
Według oficjalnych Mac OS X crontab (5) podręcznika The
/
składnia jest obsługiwana. Dlatego, aby dowiedzieć się, dlaczego to nie zadziałało, musisz spojrzeć na dzienniki Crona. W tych logach powinieneś znajdować się wyraźny komunikat o błędzie.Uwaga: Wydaje się, że Mac OS X używa Vixie Cron, podobnie jak Linux i BSD.
źródło
Jeśli twoje zadanie cron działa tylko w systemie Mac OS X, możesz zamiast tego użyć polecenia uruchomione.
Z harmonogramu zadań czasowych (oficjalne dokumenty Apple) :
Możesz znaleźć dodatkowe informacje (takie jak uruchomiona strona Wikipedii ) za pomocą prostego wyszukiwania w Internecie.
źródło
Wspomniałeś, że używasz OS X- W przeszłości używałem cronnix . Nie jest tak maniakalny, jak samodzielna edycja, ale pomógł mi dowiedzieć się, jakie kolumny są w mgnieniu oka. Tylko myśl.
źródło
Możesz użyć obu symboli „ , ” LUB podzielić ” / ”.
Ale „ / ” jest lepsze.
Załóżmy przypadek „co 5 minut”. Jeśli używasz „ , ”, musisz napisać zadanie cron w następujący sposób:
Oznacza to, że uruchamiaj komendę co godzinę we wszystkich określonych minutach: 0,5,10, ...
Jeśli jednak użyjesz „/”, możesz napisać następujące proste i krótkie zadanie:
Oznacza to uruchomienie komendy w minutach, które można podzielić przez 5 lub prościej: „0,5,10, ...”
Tak więc symbol podzielny ”/” jest zawsze najlepszym wyborem;
źródło