temp dei lavori cron


8

Vorrei iniziare cron job alle 9:30 e poi lavorare ogni 5 minuti e poi fermarmi alle 16:30 di tutti i giorni. Questo tipo di pianificazione è possibile in uno o ho bisogno di due lavori cron?

Risposte:


10

Penso a qualcosa del genere:

30/5 9-16 * * *  /usr/bin/script_to_run.sh

Vedi la pagina wiki per i dettagli sulla sintassi dei tempi. Suggerisco di testarlo con uno script che registra il tempo di esecuzione in un file.

#!/bin/bash

echo "Cron ran at: " `date` >> /var/log/crontimetest.log

2
sono stato sorpreso di vedere "30/5" usato, quindi ho guardato il codice sorgente cron, in particolare entry.c, che analizza ogni riga di un crontab. nella funzione get_range (), controlla se il carattere dopo il primo numero (30 in questo esempio) è un '-' o no. se non lo è, il '/' non viene mai visto. questo è un bug; dovrebbe aver stampato un avviso (o un messaggio di errore) del modulo, "'/' ha senso solo seguendo un intervallo * o nm". scusate gente!
Paul Vixie,

7

avrai bisogno di tre voci crontab:

30-55/5 9 * * * /usr/bin/script-to-run.sh
*/5 10-15 * * * /usr/bin/script-to-run.sh
0-30/5 16 * * * /usr/bin/script-to-run.sh

per favore non dare la colpa a Linux, o bsd, o me, per la sintassi bizzarra e inutile delle voci crontab. questo è stato inventato presso AT&T Bell Labs e successivamente standardizzato come parte di POSIX.


4

Penso che tu abbia bisogno di tre lavori:

 */5 10-15 * * * yourjob
 0,5,10,15,20,25,30 16 * * * yourjob
 30,35,40,45,50,55 9 * * * yourjob
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.