Wie man Cron einmal täglich um 22 Uhr laufen lässt

177

Ich hatte eingegeben:

* 22 * * * test > /dev/null

Ich werde jedoch per E-Mail benachrichtigt, dass dies jede Minute ausgeführt wird. Ich bin wohl verwirrt, weil ich dachte, das wäre richtig für das, was ich will.

Benjamin
quelle
3
Diese Website erklärt jeden Cron-Zeitplan: crontab.guru
Bruno Finger

Antworten:

368

Es läuft jede Minute der 22. Stunde, denke ich. Versuchen Sie Folgendes, um es jede erste Minute der 22. Stunde auszuführen:

0 22 * * * ....
Marc Simon
quelle
Obwohl die 22. Stunde relativ sicher sein könnte, betrachten Sie bitte den ersten Fall dieser Frage
Martin Thoma
@MartinThoma immer man cronzuerst versuchen , sollten Sie finden, was Sie suchen.
Marc Simon
Denken Sie daran, das Datum des Systems zu überprüfen. Es ist mir passiert, dass crontab so eingestellt wurde, dass ein Job bei 22 beginnt, aber es begann tatsächlich bei 23, weil das System UTC war (also 22 für das System war 23 für mich in GMT).
Nnsense
Ich habe diese Antwort positiv bewertet, aber ich kannte diese Regel ... trotzdem wollte ich mein stilles Wissen bestätigen: D
rnrneverdies
154

Hier sind einige weitere Beispiele

  • Laufen Sie alle 6 Stunden um 46 Minuten nach der vollen Stunde:

    46 */6 * * *

  • Laufen Sie um 2:10 Uhr:

    10 2 * * *

  • Lauf um 3:15 Uhr:

    15 3 * * *

  • Laufen Sie um 4:20 Uhr:

    20 4 * * *

  • Laufen Sie um 5:31 Uhr:

    31 5 * * *

  • Lauf um 17:31 Uhr:

    31 17 * * *

Abdalla Mohamed Aly Ibrahim
quelle
25

Folgendes schaue ich mir jedes Mal an, wenn ich einen neuen Crontab-Eintrag schreibe:

So starten Sie die Bearbeitung vom Terminaltyp:

 zee$ crontab -e

Was werden Sie zur Crontab-Datei hinzufügen:

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

Was es bedeutet:

[ 
+ 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
] 

Überprüfen Sie außerdem, welche Shell auf Ihrem Computer ausgeführt wird, und benennen Sie die Datei entsprechend ODER sie wird nicht ausgeführt.

Überprüfen Sie die Shell mit entweder echo $SHELLoderecho $0

Es kann "Bourne Shell (sh), Bourne wieder Shell (bash), Korn Shell (ksh)..etc" sein

zee
quelle
1

Die Syntax für crontab

* * * * * 

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

Ihre Syntax

* 22 * * * test > /dev/null

Ihr Job wird jede Woche, jeden Monat und jedes Jahr um 22:00 Uhr ausgeführt.

Durch Hinzufügen einer Option (0-59) an der Minute wird diese einmal pro Woche, Monat und Jahr um 22:00 Uhr ausgeführt.

0 22 * * * command_to_execute 

Quelle https://www.adminschoice.com/crontab-quick-reference

Magesh Somasundaram
quelle