Perl Cron Scheduler: inizio al tempo x, y eseguire ogni minuto per sempre
Domanda
sto usando cron perl, e voglio fare una regola del genere
eseguito ogni xx min / ore a partire dalle aa: aa tempo (fino alla fine dei tempi)
Come potrei mettere questo in una stringa cron? perl: cron sembra usare la stessa sintassi di cron regolare in modo da una stringa cron regolare dovrebbe funzionare
TIA!
Soluzione
La risposta breve è che vi sia bisogno di scrivere da soli o trovare un altro pacchetto di terze parti, a causa delle esigenze. Ci sono due cose che stai chiedendo che cron non fare:
-
Esegui ogni X minuti.
Dire che si desidera eseguire ogni 40 minuti, e si scrive questo
*/40 * * * *
. Questo viene eseguito in realtà ogni 60 minuti a 1:40, 2:40, ecc. -
Start / Stop al momento Y / Z.
semplicemente non c'è alcun sintassi cron per questo. Si potrebbe utilizzare un altro paio cronjobs per aggiungere / rimuovere il cronjob principale negli orari indicati, ma questo odore un po 'come codice di auto-modifica. Data la complessità. (Leggi: inaffidabilità), probabilmente è meglio trovare un sistema diverso
Altri suggerimenti
È possibile specificare intervalli con una barra. Ecco ogni 5 minuti:
*/5 * * * *
Questa è ogni 2 ore:
0 */2 * * *
Non è possibile dare un orario di inizio / fine a cron.