Ricerca nel sito web

Come eseguire un processo Cron ogni 10, 20 e 30 secondi in Linux


In breve: l'utilità di pianificazione dei processi cron non supporta la pianificazione dell'esecuzione dei processi a intervalli di secondi. In questo articolo, ti mostreremo un semplice trucco per aiutarti a eseguire un processo cron ogni 30 secondi o x secondi in Linux.

Sei nuovo al programma di pianificazione dei lavori cron e desideri eseguire un lavoro ogni 30 secondi? Sfortunatamente, cron non lo consente. Non puoi pianificare l'esecuzione di un processo cron ogni x secondo. Cron supporta solo un intervallo di tempo di almeno 60 secondi (ovvero 1 minuto). Per eseguire un processo cron ogni 30 secondi, devi utilizzare il trucco che abbiamo spiegato di seguito.

In questa guida tratteremo anche molti altri esempi per eseguire un lavoro, un comando o uno script ogni x secondo. Ma iniziamo spiegando come eseguire un processo cron ogni 30 secondi in Linux.

Esegui Cron Job ogni 30 secondi in Linux

Per realizzare l'attività di cui sopra, creare due voci nel crontab. Il primo lavoro eseguirà il comando date dopo ogni minuto (60 secondi), quindi la seconda voce utilizzerà il comando sleep per ritardare per un periodo di tempo specificato (30 secondi in questo caso) e invocare nuovamente il comando data.

Devi aggiungere le seguenti voci nel crontab (tabella cron) e aprirlo per la modifica utilizzando il seguente comando crontab (il -e flag abilita la modifica):

crontab -e

Aggiungi le seguenti voci cron al file.

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 

Ora se controlli il contenuto del file /tmp/date.log, dovresti vedere che il comando date viene eseguito ogni 30 secondi. Possiamo usare il comando cat per visualizzare il file e controllare la colonna dell'ora per confermare, come segue:

cat /tmp/date.log

Puoi anche guardare l'aggiornamento del file in tempo reale. Per farlo, usa il comando tail con il flag -f.

tail -f /tmp/date.log

Esegui Cron Job ogni 10 secondi in Linux

Diamo un’occhiata ad altri esempi. Questo mostra come eseguire un processo cron ogni 10 secondi. Il trucco sta semplicemente nel giocare con il numero di secondi del comando sleep:

* * * * * date>> /tmp/date.log
* * * * * sleep 10; date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
* * * * * sleep 50; date>> /tmp/date.log

Ancora una volta, se guardiamo il file /tmp/date.log, dovrebbe essere aggiornato ogni 10 secondi in base alle voci crontab sopra riportate:

tail -f  /tmp/date.log

Ecco un altro esempio di esecuzione del comando date ogni 15 secondi:

* * * * * date>> /tmp/date.log
* * * * * sleep 15; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 45; date>> /tmp/date.log

Infine, per eseguire un processo cron ogni 20 secondi, puoi avere qualcosa del genere:

* * * * * date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log

Inoltre, ecco altri articoli per apprendere la pianificazione dei lavori utilizzando cron:

  • Come creare e gestire lavori Cron su Linux
  • Cron Vs Anacron: come pianificare i lavori utilizzando Anacron su Linux

Ora lo sai! Ti abbiamo mostrato diversi esempi per eseguire un processo cron ogni x secondo in Linux. Leggi le pagine man di cron (eseguendo i comandi man cron e man crontab) per maggiori informazioni.

Se conosci suggerimenti o trucchi utili sui comandi cron, condividili nei commenti qui sotto.