2013-05-23 16 views
187

Próbuję dowiedzieć się, jak uruchomić zadanie crontab w każdy tydzień w niedzielę. Myślę, że następujące czynności powinny działać, ale nie jestem pewien, czy rozumiem poprawnie. Czy poniższe wskazówki są prawidłowe?Jak uruchomić zadanie crontab co tydzień w niedzielę

5 8 * * 6 
+6

Pytanie jest o 'Niedzieli', ale odpowiedź jest akceptowane sobotę o ''. ¿? – inigomedina

+6

Użyj strony [https://crontab.guru/](https://crontab.guru/), aby utworzyć dowolne wyrażenie cron. – nbi

Odpowiedz

363

Oto wyjaśnienie formatu crontab.

# 1. Entry: Minute when the process will be started [0-60] 
# 2. Entry: Hour when the process will be started [0-23] 
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31] 
# 4. Entry: Month of the year when the process will be started [1-12] 
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday] 
# 
# all x min = */x 

Więc zgodnie z tym swoimi 5 8 * * 0 byłoby 8:05 w każdą niedzielę.

+104

Aby być bardziej czytelnym, możesz użyć jednego z 'słońca, miesiąca, miesiąca, śr., Czwartku, piątki lub sob. 'Na dany dzień. To również oszczędza przed wyborem między "0" lub "7" na niedzielę. – flu

30

Poniżej znajduje się format pliku crontab.

{minut} {godzin} {day-of-miesiąca} {miesiąc} {day-of-tygodnia} {user} {ścieżka-do-skrypt powłoki}

Tak, aby uruchomić każdą niedzielę o północy (niedziela jest 0 zazwyczaj 7 w niektórych rzadkich przypadkach):

0 0 * * 0 root /path_to_command 
+0

Głosowanie za wskazanie, jak określić polecenie, które ma być uruchamiane za każdym razem. (Jednakże kolumnę użytkownika należy pominąć podczas edycji za pomocą polecenia "crontab".) –

119

Aby mieć cron wykonywany w niedzielę można skorzystać z jednego z nich:

5 8 * * 0 
5 8 * * 7 
5 8 * * Sun 

Gdzie 5 8 oznacza momencie dzień, w którym to nastąpi: 8:05.

Ogólnie, jeśli chcesz wykonać coś w niedzielę, upewnij się, że 5. kolumna zawiera jedną z następujących: 0, 7 lub Sun. Miałeś 6, więc działał w sobotę.

Format cronjobs jest:

+---------------- minute (0 - 59) 
| +------------- hour (0 - 23) 
| | +---------- day of month (1 - 31) 
| | | +------- month (1 - 12) 
| | | | +---- day of week (0 - 6) (Sunday=0 or 7) 
| | | | | 
* * * * * command to be executed 

zawsze można użyć crontab.guru jako redaktor, by sprawdzić wyrażeń crona.

+8

Pomóżcie innym uniknąć głupiego błędu, który właśnie popełniłem, i ustawcie minutę na coś innego niż * lub wykonać na każdą minutę tej godziny! – user2924019

+2

crontab.guru jest tak przydatny! dzięki za udostępnienie – Nadir

3

Podczas określania wartości crona należy upewnić się, że wartości mieszczą się w zakresach. Na przykład, niektóre cron używają zakresu 0-7 w dniu tygodnia, gdzie zarówno 0, jak i 7 reprezentują niedzielę. My nie.

Minutes: 0-59 
Hours: 0-23 
Day of Month: 1-31 
Months: 0-11 
Day of Week: 0-6 
+2

"my" ... kto? jaki program i wersja? – Massimo

0

10 * * * Słońce

Position 1 for minutes, allowed values are 1-60 
position 2 for hours, allowed values are 1-24 
position 3 for day of month ,allowed values are 1-31 
position 4 for month ,allowed values are 1-12 
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday. 
+0

Gratuluję pierwszej odpowiedzi w StackOverflow! Pamiętaj, aby sprawdzić [Przewodnik odpowiedzi] (https://stackoverflow.com/help/how-to-answer). Na przykład odpowiedź zazwyczaj powinna zawierać nowe informacje, których brakuje w istniejących odpowiedziach. – doz10us

+2

to będzie działać 24 razy w niedzielę, 10 minut po godzinie na godzinę. –

Powiązane problemy