Creazione di un cronjob o attività (e cosa fare se non viene eseguita)
Con un cronjob (in DirectAdmin: Cron Jobs) può far eseguire automaticamente uno script a orari prestabiliti, ad esempio ogni notte. Di seguito scoprirà come crearne uno e cosa fare se non funziona.
Regole per i cronjob
- Con Webhost One e Webhost Two può avviare al massimo un'operazione ogni 10 minuti, per tutte le Sue operazioni insieme.
- Con i pacchetti Power Webhost le operazioni possono essere eseguite più spesso.
- Distribuisca più cronjob nel tempo e scelga un orario tranquillo, ad esempio le 03:17 invece di esattamente mezzanotte.
- I cronjob pesanti che impegnano a lungo il server non sono consentiti. Sullo stesso server sono attivi più siti web. Se necessario, interromperemo un cronjob. Mantenga quindi le Sue operazioni brevi e non le faccia eseguire più spesso del necessario.
Creare un cronjob
- Acceda a DirectAdmin e faccia clic, sotto Funzionalità Avanzate, su Cron Jobs.
- Faccia clic su Crea Cron Job.
- Inserisca il minuto, l'ora, il giorno, il mese e il giorno della settimana. Inserisca sempre il minuto con un numero, non con un asterisco, altrimenti l'operazione verrà eseguita ogni minuto.
- Nel comando, inserisca il percorso completo, ad esempio:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Sostituisca gebruiker con il Suo nome utente DA. - Faccia clic su Creare.

E-mail dopo ogni cronjob
L'output di un cronjob viene inviato all'account e-mail predefinito del Suo pacchetto, veda L'account e-mail predefinito in DirectAdmin. Può anche inviare l'output a un proprio indirizzo con Invia tutto l'output cron via e-mail. Se non desidera ricevere e-mail, durante la creazione faccia clic su Impedisci e-mail, oppure aggiunga dopo il comando:
>/dev/null 2>&1
Attenzione con gli script PHP
Uno script eseguito da un cronjob non sa sotto quale dominio viene eseguito. $_SERVER['SERVER_NAME'] e $_SERVER['DOCUMENT_ROOT'] sono vuoti, e un include con un percorso relativo può fallire. Inserisca quindi all'inizio del Suo script:
$pad = '/home/gebruiker/domains/jouwdomein.nl/public_html'; $_SERVER['SERVER_NAME'] = 'jouwdomein.nl'; $_SERVER['DOCUMENT_ROOT'] = $pad; set_include_path($pad . PATH_SEPARATOR . get_include_path());
Il Suo cronjob non viene eseguito?
Verifichi questi punti uno per uno:
- Legga l'output. Rimuova temporaneamente
>/dev/null 2>&1e controlli l'e-mail nell'account e-mail predefinito, oppure imposti un proprio indirizzo. Lì si trova spesso esattamente cosa non funziona. Può anche scrivere l'output in un file di log aggiungendo dopo il comando>> /home/gebruiker/cron-log.txt 2>&1. - Controlli il percorso. Il messaggio Could not open input file significa che il percorso dello script non è corretto. Controlli in Gestione File: il percorso inizia con
/home/gebruiker/domains/. - Controlli la versione PHP. Con
/usr/local/bin/phpl'operazione utilizza la stessa versione PHP del Suo sito web. Se il Suo script funziona solo con un'altra versione, la modifichi in Seleziona versione PHP. - Testi il comando manualmente. Se dispone di un pacchetto con Terminal, incolli il comando lì e verifichi cosa succede, veda Aprire SSH o il Terminal in DirectAdmin. Senza Terminal, apra lo script nel Suo browser, oppure lo richiami nel cronjob tramite
curl --silent https://www.jouwdomein.nl/taak.php. - Controlli i permessi. Lo script deve essere leggibile: i file devono essere impostati su 644 e le cartelle su 755. Veda Permessi di file e cartelle (chmod).
- Controlli l'orario. Verifichi in Il cronjob viene eseguito: se l'operazione viene eseguita quando pensa. Se è presente un asterisco nel minuto, viene eseguita ogni minuto e può essere interrotta.
- Controlli il limite del pacchetto. Se l'operazione viene eseguita più spesso di quanto consentito dal Suo pacchetto, o se dura troppo a lungo, viene interrotta. In tal caso, suddivida il lavoro in più cicli.
date >> /home/gebruiker/cron-log.txt; prima del Suo comando.Veda anche nella guida di DirectAdmin: L'account e-mail predefinito del Suo pacchetto.
Spiegazione dettagliata con schermate: Cron Jobs: eseguire automaticamente le operazioni nella guida di DirectAdmin.
