Jak uruchamiać pracę crontab co tydzień w niedzielę

263

Próbuję wymyślić, jak co tydzień prowadzić niedzielę pracy w crontab. Myślę, że poniższe powinny działać, ale nie jestem pewien, czy rozumiem poprawnie. Czy poniższe informacje są prawidłowe?

5 8 * * 6
dev_fight
źródło
7
Pytanie dotyczy „niedzieli”, ale przyjęta odpowiedź dotyczy „soboty”. ?
inigomedina
11
Użyj strony https://crontab.guru/, aby utworzyć dowolne wyrażenie cron.
nbi

Odpowiedzi:

481

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

Zgodnie z tym w 5 8 * * 0każdą niedzielę biegałbyś o 8:05.

Bjoern Rennhak
źródło
148
Aby być bardziej czytelnym, możesz użyć jednego sun, mon, tue, wed, thu, fri, or satna dzień. Dzięki temu nie musisz wybierać między używaniem 0lub 7w niedzielę.
grypa
193

Aby wykonać crona w niedzielę, możesz użyć jednego z tych:

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

Gdzie 5 8oznacza porę dnia, kiedy to się stanie: 8:05.

Ogólnie, jeśli chcesz wykonać coś w niedzielę, po prostu upewnij się, że piąta kolumna zawiera albo 0, 7albo Sun. Miałeś 6, więc działało w sobotę.

Format cronjobs to:

 +---------------- 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żesz użyć crontab.guru jako edytora, aby sprawdzić swoje wyrażenia cron.

fedorqui „SO przestań szkodzić”
źródło
14
Żeby pomóc innym uniknąć głupiego błędu, który właśnie popełniłem, i upewnij się, że ustawiłeś minutę na coś innego niż *, albo będzie wykonywana w każdej minucie tej godziny!
user2924019 27.07.16
40

Poniżej znajduje się format pliku crontab.

{minute} {hour} {day-of-month} {month} {day-of-week} {user} {path-to-shell-script}

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

0 0 * * 0 root /path_to_command
xShirase
źródło
1
Głosowanie za wzmianką o tym, jak określić polecenie do uruchomienia za każdym razem. (Kolumnę użytkownika należy jednak pominąć podczas edycji za pomocą polecenia „crontab”.)
Joachim Wagner
1
Niedziela północy to 0 godziny poniedziałku, tj 0 0 * * 1.
Fred Loney,
5

Określając wartości cron, musisz upewnić się, że wartości mieszczą się w zakresach. Na przykład niektóre cron używają zakresu 0–7 dla dnia tygodnia, w którym zarówno 0, jak i 7 oznaczają niedzielę. Nie robimy tego (sprawdź poniżej).

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

odniesienie: https://github.com/ncb000gt/node-cron

Mendon Ashwini
źródło
3
"my Kto ? który program i wersja?
Massimo,
Jest bezpośrednio z linku: D
Mendon Ashwini
2

Wyrażenie zadania Crona w czytelnym dla człowieka sposobie budowania crontabów

Witolda
źródło
1
Imho, to nie jest odpowiedź, ponieważ niczego tu nie dodaje, ani nie odpowiada w żaden sposób na pytanie tutaj.
Pankaj,
2

Myślę, że podoba Ci się ta interaktywna strona internetowa, która często pomaga mi tworzyć złożone dyrektywy Crontab: https://crontab.guru/

jaspis
źródło
0

10 * * * niedz

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. 
Bachan Joseph
źródło
2
Gratulujemy pierwszej odpowiedzi na StackOverflow! Koniecznie sprawdź Przewodnik odpowiadania . Na przykład odpowiedź zwykle powinna zawierać nowe informacje, których brakuje w istniejących odpowiedziach.
doz10us
7
będzie to działać 24 razy w niedzielę, 10 minut po godzinie co godzinę.
Jens Timmerman,
0

@ co tydzień lepiej dla mnie działa! example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM @weekly /root/fd/databasebackup/week.sh >> ~/test.txt

未来 陆家嘴 顶尖 的 投资 人
źródło
0
* * * * 0 

you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :

* * * * *  Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
Siddharth Bhandari
źródło