2012-09-13 13 views

risposta

17

Il cron verrà eseguito ogni minuto alle 6, a causa di tale asterisco.

Cron format:

* * * * * * 
| | | | | | 
| | | | | +-- Year    (range: 1900-3000) 
| | | | +---- Day of the Week (range: 1-7, 1 standing for Monday) 
| | | +------ Month of the Year (range: 1-12) 
| | +-------- Day of the Month (range: 1-31) 
| +---------- Hour    (range: 0-23) 
+------------ Minute   (range: 0-59) 
Any of these 6 fields may be an asterisk (*). 
This would mean the entire range of possible values, i.e. each minute, each hour, etc. 

Si dovrebbe mettere minuto 0 perché è necessario eseguire solo una volta (alle 06:00).

0 6 * * * 
+1

Giusto per chiarire "perché verrà eseguito ogni minuto a ore 6": Si dovrebbe mettere un minuto 0 in questo modo verrà eseguito * una volta * alle 6 invece di ogni minuto alla sesta ora: (cioè 6:00, 6:01, 6:02, ecc.) – jp093121

+0

Grazie @ jp093121, chiarito. Apprezzo davvero il tuo suggerimento. La mia risposta a una linea aveva bisogno di una spiegazione molto migliore. –

0

Si dovrebbe cambiare il vostro cronjob come segue:

0 6 * * * /usr/bin/php and so on

In questo modo verrà eseguito a ore 6. A modo tuo, inizierà a correre alle 6 e poi funzionerà di nuovo ogni minuto per un'ora.

Come esempio, se si desidera uno script da eseguire al 3 ° giorno del mese, a mezzanotte, si dovrebbe scrivere:

0 0 3 * * /usr/bin/php and so on

Se si lascia asterisco sui primi due campi, verrà eseguito Per tutto il giorno.

Dai uno sguardo allo man page. Alcuni esempi possono essere molto utili, ad esempio quello con la macro @daily.