Come eseguire cron una volta, ogni giorno alle 22:00


178

Sono entrato:

* 22 * * * test > /dev/null

Tuttavia, mi viene notificato via e-mail che questo è in esecuzione ogni minuto. Sono confuso, credo perché pensavo fosse corretto per quello che volevo.


3
Questo sito web spiegherà qualsiasi programma cron: crontab.guru
Bruno Finger,

Risposte:


369

Funziona ogni minuto dell'ora 22 immagino. Provare quanto segue per eseguirlo ogni primo minuto dell'ora 22:

0 22 * * * ....

Sebbene l'ora 22 possa essere relativamente salva, si prega di considerare il primo caso di questa domanda
Martin Thoma,

@MartinThoma prova sempre man cronprima, dovresti trovare quello che stai cercando.
Marc Simon,

Ricorda di controllare la data del sistema, mi è capitato di impostare crontab per iniziare un lavoro alle 22, ma in realtà è iniziato alle 23 perché il sistema era UTC (quindi 22 per il sistema erano 23 per me in GMT).
nnsense,

Ho votato a favore di questa risposta ma conoscevo questa regola ... comunque volevo confermare la mia conoscenza silenziosa: D
rnrneverdies

154

Ecco alcuni altri esempi

  • Corri ogni 6 ore a 46 minuti dopo l'ora:

    46 */6 * * *

  • Corri alle 2:10:

    10 2 * * *

  • Corri alle 3:15:

    15 3 * * *

  • Corri alle 4:20:

    20 4 * * *

  • Corri alle 5:31:

    31 5 * * *

  • Eseguito alle 17:31:

    31 17 * * *



25

Ecco cosa guardo ogni volta che scrivo una nuova voce crontab:

Per iniziare la modifica dal terminale tipo:

 zee$ crontab -e

cosa aggiungerai al file crontab:

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

Cosa significa:

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

Inoltre, controlla quale shell è in esecuzione sulla tua macchina e dai un nome al file di conseguenza O non verrà eseguito.

Controlla la shell con echo $SHELLoecho $0

Può essere "Bourne shell (sh), Bourne again shell (bash), Korn shell (ksh)..etc"


1

La sintassi per crontab

* * * * * 

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

La tua sintassi

* 22 * * * test > /dev/null

il tuo lavoro verrà eseguito ogni minuto alle 22:00 per tutta la settimana, il mese e l'anno.

l'aggiunta di un'opzione (0-59) al minuto lo eseguirà una volta alle 22:00 per tutta la settimana, il mese e l'anno.

0 22 * * * command_to_execute 

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.