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?
# 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.
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.
Ż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!
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
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.
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
* * * * 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)
Odpowiedzi:
Oto wyjaśnienie formatu crontab.
Zgodnie z tym w
5 8 * * 0
każdą niedzielę biegałbyś o 8:05.źródło
sun, mon, tue, wed, thu, fri, or sat
na dzień. Dzięki temu nie musisz wybierać między używaniem0
lub7
w niedzielę.Aby wykonać crona w niedzielę, możesz użyć jednego z tych:
Gdzie
5 8
oznacza 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
,7
alboSun
. Miałeś6
, więc działało w sobotę.Format cronjobs to:
Zawsze możesz użyć crontab.guru jako edytora, aby sprawdzić swoje wyrażenia cron.
źródło
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):
źródło
0 0 * * 1
.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).
odniesienie: https://github.com/ncb000gt/node-cron
źródło
Wyrażenie zadania Crona w czytelnym dla człowieka sposobie budowania crontabów
źródło
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/
źródło
10 * * * niedz
źródło
@ 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
źródło