Jak uruchomić crona raz, codziennie o 22:00

178

Wszedłem:

* 22 * * * test > /dev/null

Jednak co minutę otrzymuję powiadomienie e-mailem, że to działa. Myślę, że jestem zdezorientowany, ponieważ myślałem, że to jest właściwe dla tego, czego chcę.

Benzoes
źródło
3
Ta strona internetowa wyjaśni każdy harmonogram crona: crontab.guru
Bruno Finger

Odpowiedzi:

369

Wydaje mi się, że działa w każdej minucie godziny 22. Spróbuj wykonać następujące czynności, aby uruchamiać go co pierwszą minutę 22 godziny:

0 22 * * * ....
Marc Simon
źródło
Chociaż godzina 22 może być stosunkowo bezpieczna, rozważ pierwszy przypadek tego pytania
Martin Thoma
@MartinThoma zawsze spróbuj man cronnajpierw, powinieneś znaleźć to, czego szukasz.
Marc Simon
Pamiętaj, aby sprawdzić datę w systemie, zdarzyło mi się ustawić crontab, aby rozpocząć zadanie o 22, ale tak naprawdę zaczęło się o 23, ponieważ system był UTC (więc 22 dla systemu było 23 dla mnie w GMT).
nnsense
Głosowałem za tą odpowiedzią, ale znałem tę zasadę ... zresztą chciałem potwierdzić swoją cichą wiedzę: D
rnrneverdies
154

Oto kilka przykładów

  • Uruchamiaj co 6 godzin 46 minut po pełnej godzinie:

    46 */6 * * *

  • Uruchom o 2:10:

    10 2 * * *

  • Uruchom o 3:15:

    15 3 * * *

  • Uruchom o 4:20:

    20 4 * * *

  • Uruchom o 5:31:

    31 5 * * *

  • Uruchom o 17:31:

    31 17 * * *

Abdalla Mohamed Aly Ibrahim
źródło
25

Oto, na co patrzę za każdym razem, gdy piszę nowy wpis w tabeli crontab:

Aby rozpocząć edycję od typu terminala:

 zee$ crontab -e

co dodasz do pliku crontab:

0 22 * * 0  some-user /opt/somescript/to/run.sh

Co to znaczy:

[ 
+ user => 'some-user',      
+ minute => 0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Sprawdź również, jaka powłoka działa na twoim komputerze i nazwij plik odpowiednio ALBO nie zostanie wykonany.

Sprawdź powłokę za pomocą echo $SHELLlubecho $0

Może to być „powłoka (sh)Bourne'a, znowu powłoka Bourne'a, powłoka (bash)Korna… (ksh)itd.”

zee
źródło
1

Składnia crontab

* * * * * 

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

Twoja składnia

* 22 * * * test > /dev/null

Twoja praca będzie wykonywana co minutę o godzinie 22:00 przez cały tydzień, miesiąc i rok.

dodanie opcji (0-59) w miejscu minutowym uruchomi ją raz o godzinie 22:00 przez cały tydzień, miesiąc i rok.

0 22 * * * command_to_execute 

Źródło https://www.adminschoice.com/crontab-quick-reference

Magesh Somasundaram
źródło