*/20 * * * *
Run Cron lavoro ogni N minuti più offset
assicura che passa ogni 20 minuti, mi piacerebbe eseguire un'attività ogni 20 minuti, a partire dalle 5 oltre l'ora, è questo possibile con Cron? Sarebbe:
5/20 * * * *
?
*/20 * * * *
Run Cron lavoro ogni N minuti più offset
assicura che passa ogni 20 minuti, mi piacerebbe eseguire un'attività ogni 20 minuti, a partire dalle 5 oltre l'ora, è questo possibile con Cron? Sarebbe:
5/20 * * * *
?
Per eseguire un'attività ogni 20 minuti a partire dalle 5 oltre l'ora, provate questo:
5-59/20 * * * *
Spiegazione
Un *
nel campo dei minuti è lo stesso di 0-59/1
dove 0-59
è il intervallo e 1
è il passaggio. Il comando verrà eseguito al primo minuto nell'intervallo (0), quindi in tutti i minuti successivi distanti dal primo di passaggio (1), fino all'ultimo (59).
Questo è il motivo per cui */20 * * * *
verrà eseguito a 0 minuti, 20 minuti dopo e 40 minuti dopo - che è lo stesso di ogni 20 minuti. Tuttavia, verrà eseguito a 0 minuti, 25 minuti dopo e 50 minuti dopo - che non è uguale a ogni 25 minuti. Ecco perché è solitamente preferibile utilizzare un valore di passo nel campo dei minuti che divide equamente in 60.
Quindi, per compensare l'ora di inizio, specificare l'intervallo in modo esplicito e impostare il primo valore sulla quantità dell'offset.
Esempi
5-59/20 * * * *
verrà eseguito a 5 minuti dopo, 25 minuti dopo, e 45 minuti dopo.
10-59/25 * * * *
verrà eseguito 10 minuti dopo e 35 minuti dopo.
1-59/2 * * * *
verrà eseguito ogni minuto dispari.
che funziona perfettamente. Come l'hai scoperto? Puoi indicarmi i documenti? Grazie. – AJP
Una serie di ricerche su Google mi ha portato a [questa risposta di errore del server] (http://serverfault.com/a/429397/181709). Ha avuto un errore che mi ha davvero confuso, soprattutto perché altri risultati hanno suggerito che il passo del modulo * minuti dovrebbe essere uguale a zero *. Ho finalmente trovato [questa pagina di manuale] (http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.rtn.doc%2Fdoc% 2Fc0054381.html) che mi ha dato la risposta.Di conseguenza, sono stato in grado di commentare la risposta del Server Fault che è stata ora corretta. Non ricordo i termini di ricerca effettivamente usati per trovare la pagina IBM. – toxalot
Grazie e ottimo lavoro @toxalot, vorrei poterti assegnare il badge "Tireless Investigator"! : P – AJP
Sicuro!
5,25,45 * * * * /your/cron
Grazie. Avevo finito per farlo, speravo che potesse esserci una soluzione più elegante. – AJP
A volte la soluzione semplice è migliore perché è facile facile da leggere e capire. Mi piace sapere che '5-59/20' è possibile, ma '5,25,45' ha il vantaggio che è immediatamente molto chiaro cosa faccia. – thomasrutter
solo se il tuo passo è abbastanza grande – Tebe
Si può provare: */5 * * * * sleep N; your job
Grazie Babilonesi, che ha deciso che il nostro sistema tempo dovrebbe essere esattamente diviso per 1,2,3,4,5 e 6. – arivero
se è divisibile per 2 e 3 è anche frazionabile da 6 – Ziofil