Come attivare i cron job su OVH

Come attivare i cron job su OVH

I cron sono le attività pianificate che includiamo in un file PHP, ad esempio, e che verranno eseguiti in automatico dal server del nostro sito web: se avete necessità di eseguire regolarmente aggiornamenti di dati, operazioni di controllo di vario tipo o qualsiasi altra cosa che si possa codificare in un linguaggio di programmazione, essi sono la strada obbligata per agire correttamente. In questa breve guida vedremo come farlo sul piano condiviso di OVH, uno dei più noti ed utilizzati da questo famoso hosting europeo.

La prima cosa che è necessario fare è fare login nel proprio pannello di amministrazione, inserendo quindi le proprie credenziali di accesso (username e password fornite dall’hosting). A questo punto, nel vostro Spazio Cliente – l’hosting da cui sono tratte le schermate è un piano condiviso – dalla colonna di destra selezionate “Hosting” e poi cliccate sul nome del vostro sito web.

Entro pochi istanti dovreste vedere una cosa di questo tipo:

ovh-cron

In alto a destra, fate click su Altre opzioni e poi selezionate la voce Task pianificati – Cron.

ovh-cron2

I cron di OVH, almeno nel pannello attuale, possono essere creati mediante il bottone Aggiungi un intervento programmato; è possibile programmare più di un cron alla volta, con il limite (per il piano di hosting condiviso) che non si possano eseguire cron con frequenza inferiore ad un ora. Questo significa che, almeno sul piano di hosting che sto mostrando nell’esempio, sarà possibile eseguire ogni cron massimo 24 volte al giorno. Le varie colonne indicheranno, nell’ordine, il nome del cron (Ordine), la sua Descrizione, la Frequenza di esecuzione, la Lingua (cioè il linguaggio, come ad esempio PHP 7), lo stato (attivo/inattivo), l’eventuale email a cui inviare le notifiche di errore. Normalmente, infatti, l’esecuzione di un cron viene notificata via email soltanto in caso di errori (codice PHP errato ecc.).

schermata-2016-11-19-alle-21-16-10

In linea di massima, quando si crea un cron bisogna impostare i seguenti campi minimi:

  1. comando da eseguire: indica path e nome del file da eseguire, normalmente inizia con www/ (quindi la root del vostro sito va indicata www/ e non in altri modi); nel mio esempio ho immaginato di includere test.php (il codice esempio da copiare lo trovate più in basso nel post);
  2. Lingua: selezionate ad esempio PHP 7 o PHP 5.6, a seconda della versione che state usando;
  3. selezionate la spunta vicino a Attivazione;
  4. log via email (solo in caso di errore): opzionale.

Esempio visuale:

schermata-2016-11-19-alle-21-21-29

A questo punto cliccate su Seguente, e dovrete impostare la frequenza: la sintassi usata è sia quella classica UNIX dei crontab (Modalità esperto), ma volendo potete optare per una più semplice mediante etichette (Modalità semplice): ogni ora, ore fisse, ogni N ore,  giorni fissi, ogni giorno, ogni settimana e via dicendo.

Nel mio esempio, farò in modo che le istruzioni contenute nel file test.php siano eseguite tutti i giorni a tutte le ore.

schermata-2016-11-19-alle-21-26-37

Clicchiamo su seguente, e se dalla schermata di riepilogo è tutto al suo posto, cliccate su Conferma per confermare la creazione del cron.

Ho creato questo cron alle 21:25 di oggi, e lo posso vedere nella schermata riepilogativa: il 25 che vedete all’inizio implica che il cron sarà schedulato dopo un’ora minimo da quando è stato creato. Ricordatevi sempre di inserire www/ prima del path.

schermata-2016-11-19-alle-21-28-07

Per avere un test.php da usare per le vostre prove, ne riporto uno che vi invia una email ogni volta che viene eseguito (fonte).

Eccolo:

ini_set("SMTP", "smtp.mydomain.com");
ini_set("sendmail_from", "postmaster@nome.est");

$headers ='From: autocrontest@nome.est'."\n";
$headers .='Reply-To: postmaster@nome.est'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

if (
mail(
'tuaemail@nome.est',
'test mail [cron] OVH '.date("H:i:s"),
'test test 123',
$headers
)
){
echo 'ok';
} else {
echo 'erreur';
}
echo "Check your email now....<br/>";

Attenzione che

<span class="str">tuaemail@nome.est</span>

deve chiaramente essere sostituita dall’indirizzo email su cui volete ricevere le notifiche.

Per inviare mail regolarmente e non solo a scopo di test, si suggerisce di utilizzare un plugin come PHPMailer.

Photo by Phillie Casablanca

Valutazioni utenti

5 / 5 ( 100% )

1 voto