Alcune attività di un sito vanno fatte a intervalli regolari, anche quando nessuno lo sta visitando: inviare la newsletter programmata, aggiornare i prezzi da un gestionale, generare un feed per i marketplace, pulire dati temporanei. Per queste attività esistono le operazioni pianificate, che nel mondo dei server si chiamano cron (o cron job).

In questa guida vediamo cosa sono, come si leggono gli orari, come crearle dal pannello DirectAdmin e quali errori evitare.

Che cos’è un cron

Un cron è un’istruzione che dice al server: «esegui questo comando a questi orari». Il server la ripete da solo, senza che tu debba ricordartene. Ogni operazione pianificata è fatta di due parti:

  • quando: minuto, ora, giorno del mese, mese e giorno della settimana;
  • cosa: il comando da eseguire.

Come si leggono gli orari

Gli orari si scrivono con cinque campi, sempre nello stesso ordine:

Campo Valori Esempio
Minuto 0-59 30 = al minuto 30
Ora 0-23 3 = alle 3 di notte
Giorno del mese 1-31 1 = il primo del mese
Mese 1-12 * = tutti i mesi
Giorno della settimana 0-7 (0 e 7 = domenica) 1 = lunedì

Qualche simbolo utile:

  • * significa «ogni valore» (ogni minuto, ogni ora, ogni giorno…).
  • */15 significa «ogni 15 unità» (per esempio ogni 15 minuti).
  • 1,15 significa «al valore 1 e al valore 15».
  • 1-5 significa «da 1 a 5» (per esempio da lunedì a venerdì).

Esempi pronti

Orario Significato
*/15 * * * * Ogni 15 minuti
0 * * * * All’inizio di ogni ora
30 3 * * * Ogni giorno alle 3:30
0 8 * * 1-5 Alle 8 dal lunedì al venerdì
0 2 1 * * Alle 2 del primo giorno di ogni mese

Come creare un cron dal pannello

  1. Entra nell’area clienti su https://hosting.iweblab.it e apri il pannello DirectAdmin del servizio.
  2. Cerca la sezione delle operazioni pianificate (di solito si chiama «Cron Jobs»; la trovi tra le impostazioni avanzate o con la ricerca del pannello).
  3. Compila i cinque campi dell’orario, oppure usa le scorciatoie proposte se presenti.
  4. Inserisci il comando da eseguire.
  5. Salva. Da quel momento il server lo eseguirà agli orari indicati.

Dalla stessa sezione puoi modificare o eliminare i cron esistenti. Prima di eliminare un’operazione che non hai creato tu, verifica a cosa serve: potrebbe averla aggiunta un’applicazione o lo sviluppatore del sito.

Che comando scrivere

Il comando dipende da cosa vuoi eseguire. In genere i casi sono due.

Richiamare un indirizzo del sito

Molti CMS e plugin forniscono un indirizzo da “chiamare” periodicamente (spesso con una chiave segreta nell’URL). In questo caso il comando apre semplicemente quell’indirizzo, per esempio:

curl -s "https://www.tuodominio.it/percorso-indicato-dal-plugin" > /dev/null

La parte > /dev/null scarta l’output, così non ricevi un’email a ogni esecuzione.

Eseguire uno script PHP

Altre volte la documentazione del plugin o del gestionale indica di eseguire direttamente uno script PHP che si trova nei file del sito. Ricorda che i file del dominio stanno in /domains/tuodominio/public_html/ dentro la tua home. Poiché nel pannello puoi scegliere tra diverse versioni di PHP, assicurati che lo script venga eseguito con una versione compatibile con il sito: se hai dubbi su quale comando usare, chiedi con un ticket e ti indichiamo quello corretto per il tuo account.

Il caso di WordPress: wp-cron

WordPress ha un suo sistema interno di attività programmate, chiamato wp-cron, che parte quando qualcuno visita il sito. Ha due limiti:

  • se il sito ha poche visite, le attività possono partire in ritardo;
  • se il sito è servito molto dalla cache, le visite potrebbero non raggiungere WordPress e quindi non far partire le attività.

Una soluzione diffusa è disattivare l’avvio automatico aggiungendo nel file wp-config.php la riga

define('DISABLE_WP_CRON', true);

e creare un cron dal pannello che richiami https://www.tuodominio.it/wp-cron.php a intervalli regolari, per esempio ogni 15 minuti. Fai questa modifica solo se sai cosa stai toccando, e dopo aver fatto un backup del file.

Gli errori più comuni

  • Frequenze esagerate. Un’operazione pesante eseguita ogni minuto consuma risorse dell’account e può rallentare il sito. Scegli la frequenza minima che ti serve davvero: un feed che cambia una volta al giorno non va rigenerato ogni cinque minuti.
  • Operazioni che si accavallano. Se un import dura venti minuti e lo pianifichi ogni dieci, la seconda esecuzione parte prima che la prima sia finita. Distanzia le esecuzioni o usa l’orario notturno.
  • Percorsi sbagliati. Un percorso con un errore di battitura fa fallire il comando in silenzio. Controlla maiuscole, minuscole e nome del dominio.
  • Email a ogni esecuzione. Se il comando produce output, potresti ricevere un messaggio ogni volta. Scarta l’output con > /dev/null 2>&1 quando hai verificato che funziona.
  • Tutto alla stessa ora. Mettere tutte le operazioni alle 0 0 * * * crea un picco di lavoro a mezzanotte. Sparpagliale: alle 2:10, alle 3:25, alle 4:40.

Come verificare che funzioni

  1. Per la prova, imposta un orario vicino (per esempio tra cinque minuti) e lascia che il comando produca output, senza > /dev/null.
  2. Controlla l’effetto atteso: il feed aggiornato, il log del plugin, l’email ricevuta.
  3. Quando sei sicuro che funziona, imposta l’orario definitivo e scarta l’output.

Quando chiedere aiuto

Se lo sviluppatore del tuo sito ti ha passato un comando da inserire e non sei sicuro di come adattarlo, o se un cron sembra non partire, apri un ticket dall’area clienti (https://hosting.iweblab.it/submitticket.php). Indica il dominio, il comando che hai inserito, l’orario e cosa ti aspettavi che succedesse: con queste informazioni possiamo verificarlo rapidamente.

In sintesi

  • Un cron esegue un comando a orari fissi, anche senza visite al sito.
  • Si crea dal pannello DirectAdmin con cinque campi di orario e un comando.
  • Scegli frequenze ragionevoli, evita sovrapposizioni e distribuisci gli orari.
  • Per WordPress valuta di sostituire wp-cron con un cron vero.

Altri articoli su Pannello e area clienti

Parliamone

Un hosting che ti spiega le cose, e poi le fa

Questi articoli nascono dalle domande dei nostri clienti. Se vuoi un hosting dove dietro ogni risposta c’è un tecnico vero, parliamone.

  • 4,9 su 5 su Trustpilot264 recensioni, il 96% a cinque stelle
  • Risponde un tecnicoIn italiano, da chi gestisce i server
  • Il trasloco lo facciamo noiSito, database e posta, controllati prima di spostare i DNS