Cron job PHP: che cos’è e come funziona?

di Lorenzo Neri
134 visualizzazioni

Cron job PHP: che cos’è e come funziona? In questo articolo scoprirai non solo che cosa è un cron job, ma anche come funziona all’interno di un sito web!

Cron job non è una parolaccia ma una funzionalità molto interessante da usare assieme a PHP e quindi in quella parte dei siti web che gestisce alcuni aspetti del back-end.

Oltre a non essere una parolaccia, ci offre un funzionamento molto pratico ed interessante: ma prima di affrontare ciò, permettimi di presentarmi.

Ciao mi chiamo Lorenzo Neri e sono un informaticorealizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Nei prossimi paragrafi ti spiegherò che cosa è un cron job fatto con PHP e capirai anche come funziona.

Che cos’è un cron job PHP?

Ti sei mai chiesto come sia possibile inviare automaticamente le e-mail alla mia newsletter ogni settimana senza fare ritardi e senza alcun mio intervento?

Nella tua informaticoa è sempre ronzato il dilemma del come effettuare un backup periodico del tuo database in modo automatico e precisamente alle 17:15 del lunedì di ogni settimana?

Quelle che ti ho appena detto, sono operazioni automatizzate e periodiche. Operazioni che vengono eseguite senza alcun intervento umano, con un orario ben specifico ripetute in modo ciclico.

Chiaramente, con il supporto di PHP: quindi con un web server.

Ecco allora che cos’è un cron job: un “task” a tutti gli effetti che esegue in modo automatico e ciclico un codice PHP, meglio detto un file PHP specifico nel tuo server web.

Ma come funziona un cron job?

Chiarito paragrafo fa, che cos’è un cron job PHP, è giusto capire come funziona.

Ha bisogno di due elementi:

  • Un file PHP: sarà il codice effettivo da eseguire in modo automatico
  • Uno scheduling: sono le direttive che specificano quando spesso e quanto spesso eseguire il suddetto file.

Nella maggior parte dei casi, tutti i servizi di hosting, quindi che offrono un sito web come quello che stai leggendo attualmente, hanno una sezione nota come “Cron job PHP”:

La prima parte, come puoi vedere in questo esempio, è il comando. Il comando, che inizia con “php” proprio per indicare al server che deve eseguirlo, si compone a seguito del percorso del file php che vuoi eseguire.

La sezione sotto, è lo scheduling: ovvero dove decidiamo quando e quanto spesso eseguire il suddetto file PHP.

Ma facciamo un esempio concreto ok?

Ho il mio file “email.php” situato nella cartella “newsletter”. A livello di comando dovrò scrivere:

php /home/lorenzo/www/ilmiosito.it/public_html/newsletter/email.php

E voglio inviarla una volta alla settimana alle 10:30 del mattino. Nello scheduler dovrò scrivere:

30 10 * * 0

Insomma di un cron job PHP abbiamo visto sia che cos’è, sia come funziona: ma trovo doveroso scendere nei dettagli della sintassi dello scheduling.

La sintassi dello scheduling

Di per sé la sintassi è composta da cinque elementi: minuti, ora, giorno, mese e giorno della settimana.

Ma come fare se volessi eseguire questo task magari al minuto “22” e al minuto “43” di ogni martedì?

Come fare invece per eseguirlo ogni lunedì di Febbraio?

Devi sapere che puoi fare tutto questo in pochi secondi e a colpo d’occhio senza errore.

Permettimi di farti un esempio sempre diretto e poco tecnichese:

5,10 4 * 2 1

Quello che ho scritto fa sì che il cron job PHP sia eseguito al minuto “5” e al minuto “10” delle 4 del mattino di tutti i Lunedì di Febbraio.

Ma riconosco che sia tutt’altro che comprensibile a colpo d’occhio vero?

E così?

Ti voglio salutare con uno strumento fantastico che ti eviterà ogni genere di errore che uso anche io per stabilire i cron job.

Il suo nome è Crontab.guru e oltre a mostrarti in tempo reale gli effetti del comando da te scritto, fa qualcosina in più.

Ovvero? Ti mostra anche ogni dettagli della sintassi che stai usando.

Ma non solo.

Se guardi bene lo screenshot che ti ho messo qui sopra, ti dice anche data e ora della prossima esecuzione del cron job PHP così impostato 😉

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più