Come funziona un cron job e a cosa serve

4 Luglio 2019 / Pubblicato in:  da Ivan Messina
Nessun commento

Dopo aver acquistato il piano hosting per il tuo sito web, dopo averlo pubblicato e dopo aver verificato l'andamento e lo sfruttamento delle risorse, potrebbe tornarti utile la funzione dei cron job. All'interno del c-Panel avrai notato sicuramente questa icona, ma probabilmente non gli hai mai dato la giusta importanza. In realtà però, i cron job possono esserti molto utili per programmare alcune azioni automatiche ogni tot di tempo.

cron sono degli script programmabili che devono essere eseguiti nel tempo (ad esempio ogni ora, ogni giorno, in un particolare giorno del mese, o un giorno della settimana a cadenza fissa).

Un cron job dunque è un comando che verrà eseguito in automatico in un determinato giorno o orario. Si possono utilizzare ad esempio per cancellare i file temporanei con una frequenza settimanale con il risultato di una notevole diminuzione dello spazio occupato sul disco.

Come creare un cron job

Questi script da eseguire conosciuti anche come demone cron, possono essere utilizzati anche per impostare azioni molto importanti come il backup dei dati. Anche se si tratta di procedure automatizzate, i cron job permettono di avere il pieno controllo delle azioni, dal momento che le stesse sono scritte proprio da chi le gestisce.

Abbiamo detto che questi script possono essere utilizzati per diverse operazioni. Vediamo quindi come crearne una.

Accedi al cPanel dei servizi hosting che hai acquistato e clicca sull'icona Cron Jobs per aprire la pagina totalmente dedicata a questo servizio.

Nello spazio dedicato alla mail, puoi inserire l'indirizzo di posta elettronica a cui verranno inviate le notifiche dell'esecuzioni. Potrebbe esserti utile nella fase iniziale, quella dei test, ma a lungo andare, specialmente se hai azioni programmate continue, potrebbe non essere la cosa migliore se non vuoi rischiare di intasare la casella di posta.

Il passo successivo è quello che stabilisce la frequenza di esecuzione del comando. Per farlo va utilizzata una sintassi del file crontab di questo tipo

MINUTI ORE GIORNO MESE SETTIMANA COMANDO

In ogni campo possiamo inserire il valore * per indicare "sempre" oppure un numero valido per il tipo di impostazione. Per i mesi ad esempio si può inserire una cifra da 1 a 12.

Cron Job Formato

Utilizzando questa composizione, lo script viene eseguito due volte al giorno, alle 13 e alle 20:

00 13,20 * * * /home/path/to/cron.php

Con quest'altra invece i comandi impostati vengono eseguiti ogni giorno dalle 10 alle 19

00 10-19 * * * /home/path/to/cron.php

Nella lista che segue sono indicati i casi più utilizzati per impostare la frequenza.

0 22 * * * /root/mybackup.sh
Lo script viene eseguito alle ore 22.00 tutti i giorni

0 9,23 * * * /root/mybackup.sh
Lo script viene eseguito alle ore 9.00 e alle ore 23.00 tutti i giorni

0 8 * * 0 /root/mybackup.sh
Lo script viene eseguito alle ore 8.00 della domenica

0 7 * 5 6 /root/mybackup.sh
Lo script viene eseguito alle ore 7.00 ogni sabato del mese di maggio

* * * * /root/mybackup.sh
 Lo script viene eseguito ogni minuto

 */15 * * * * /root/mybackup.sh
 Lo script viene eseguito ogni 15 minuto

 0 */5 * * * /root/mybackup.sh
 Lo script viene eseguito ogni 5 ore (05.00, 10.00, …)

Ci sono alcuni casi in cui possiamo utilizzare anche dei cosiddetti alias al posto dei numeri

0 * * * * /root/mybackup.sh
oppure
@hourly /root/mybackup.sh
Lo script viene eseguito uva volta all'ora, tutti i giorni di ogni mese

0 0 * * * /root/mybackup.sh
oppure
@daily /root/mybackup.sh
Lo script viene eseguito ogni giorno alle 00.00

0 0 * 0 0 /root/mybackup.sh
oppure
@weekly /root/mybackup.sh
Lo script viene eseguito ogni settimana (alle 00.00 di ogni domenica)

0 0 1 * * /root/mybackup.sh
oppure
@monthly /root/mybackup.sh
Lo script viene eseguito il primo di ogni mese (alle 00.00)

Nella successiva casella di testo va inserito il comando che dovrà essere eseguito. In pratica va indicata la posizione del file cron.php, completa di tutto il percorso. Per creare o modificare il file cron è sufficiente utilizzare un editor di testo.

Ad esempio:
php5 /home/username/www/path/to/cron.php

che dice al sistema di lanciare mediante PHP 5 il file cron.php nella usr bin (cartella) indicata. Attenzione va sempre indicato il percorso completo.

Per impostare un output "silezionso" ovvero senza notifica o scrittura del log è necessario inserire il comando dev null.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *