Un cron job è un'attività in background automatizzata pianificata per essere eseguita in un momento specifico. Alcuni esempi includono il controllo di aggiornamenti, backup o l'invio di notifiche di promemoria. I lavori Cron sono importanti perché automatizzano le attività che riducono le operazioni manuali per aiutare con sicurezza, prestazioni e funzionalità per un amministratore e tutti gli utenti del server o del sito web.
Puoi utilizzare il Cron Job di cPanel funzionalità per eseguire comandi Unix e/o automatizzare l'esecuzione dei tuoi script PHP, Perl o Python. Per creare un cron job, devi prima accedere al tuo cPanel in "Cron Jobs ", quindi seleziona "Standard " o "Avanzate .” Puoi anche specificare un indirizzo email che il demone Cron utilizzerà per inviare i risultati del lavoro.
Segui i passaggi sottostanti per sapere come impostare un cron job nel cPanel ed eseguirlo manualmente.
- Come arrivare alla pagina Cron Job in cPanel
- Impostazione dell'e-mail per notifiche e rapporti
- Come impostare un cron job
- Impostazione di un Cron Job in cPanel
- Come impostare un Cron Job nella riga di comando
- Specificare il comando da eseguire
- Utilizzo della stringa dell'agente utente
- Esecuzione manuale di un Cron Job
- Risoluzione dei problemi di un Cron Job
Dai un'occhiata ai piani di hosting del server condiviso di InMotion per soluzioni economiche su misura per le esigenze del tuo sito web veloce!
Come accedere alla pagina Cron Job in cPanel
- Accedi al cPanel.
- Scorri il cPanel per trovare il Cron Job icona. Cliccaci sopra.
- Vedrai quindi la pagina Cron Jobs . La metà superiore della pagina è simile alla seguente:
Una volta che sei sulla pagina Cron Jobs puoi aggiungere cron job, aggiungere un'e-mail per rapporti e notifiche sui cron job e gestire i cron job esistenti nella parte inferiore della pagina in cui sono elencati.
Impostazione dell'e-mail per notifiche e rapporti
Per ricevere notifiche via email per l'esecuzione e l'output di un cron job, dovrai aggiungere un indirizzo email. L'email cron in cPanel l'impostazione predefinita è l'account utente ma può essere specificato con un altro indirizzo email in questa sezione della pagina del cron job.
In alcuni casi, potresti non è necessario che venga prodotta un'e-mail per ogni risultato di output del processo cron. Ad esempio, potresti eseguire un cron job che viene eseguito 20 volte al giorno. Ricevere un'e-mail ogni volta che viene eseguito il cron potrebbe diventare noioso e aggiungere un carico non necessario al tuo server.
Se intendi che il cron job non abbia output, devi aggiungere quanto segue al comando cron job:
mycommand >/dev/null 2>&1
Sostituiresti "mycommand" con il tuo comando cron job.
Come configurare un nuovo job Cron
La creazione di un cron job può essere eseguita in una riga di comando o tramite l'interfaccia cPanel. Di seguito ti mostreremo entrambi i metodi.
Come impostare un Cron Job in cPanel
L'impostazione di un cron job nel cPanel è semplificata fornendo campi per due parti principali di ogni cron job:la pianificazione e il comando.
La sezione di pianificazione del cron job è inoltre dotata di un menu a discesa per le impostazioni comunemente utilizzate.
La parte più complessa della creazione del cron job è l'aggiunta del comando o dello script. Puoi facilmente causare problemi con il tuo sito web o il server se non sai come impostare correttamente un cron job. Se stai seguendo le indicazioni di terzi, fai attenzione e segui attentamente le indicazioni. Per sicurezza, assicurati di fare un backup del tuo sito prima di aggiungere ed eseguire un cron job.
Se non hai familiarità con come utilizzare un comando o scrivere uno script, ti consigliamo di parlare o lavorare con un programmatore esperto o un gestore di siti web per impostare il tuo cron job.
Quando scorri verso il basso la pagina Cron Job, vedrai l'opzione Aggiungi nuovo Cron Job . Questo è uno screenshot dell'interfaccia fornita da cPanel per impostare un cron job:
- Pianifica il tempo di esecuzione del tuo script.
- Aggiungi il comando o lo script che deve essere eseguito nella riga di comando.
- Fai clic su Aggiungi nuovo Cron Job per salvare le modifiche.
Quando lo script viene salvato, lo vedrai elencato in una tabella più in basso nella pagina.
Come impostare un cron job nella riga di comando
Innanzitutto, dovrai configurare Crontab. Questa è la sezione che determina quando verrà eseguito il cron job. L'ordine è:
[minute][hour][day][month][weekday][command]
Questo è un esempio di aggiunta di un cron job nel cPanel. Nota che il crontab è l'ora e la data applicate al comando o allo script.
Ecco come apparirebbe la voce nella pagina cron di cPanel su una riga di un file di testo:
41 04***/my/script -v
Questo codice indica che lo script ("/my/script -v") verrà eseguito:
- Tutti i giorni della settimana (compresi i giorni feriali)
- Tutti i mesi dell'anno
- Alle 4:41
Il giorno della settimana è tutti i giorni della settimana compresi i fine settimana. Un "giorno della settimana" significa letteralmente tutti i giorni della settimana:dal lunedì alla domenica.
- Impostazioni comuni —Questo menu a discesa include gli intervalli di tempo comunemente utilizzati. Se ne selezioni uno, il sistema configurerà tutti i minuti , Ora , Giorno , Mese e giorno della settimana caselle di testo per te.
- Minuti — Il numero di minuti tra ogni esecuzione del cron job o il minuto di ogni ora in cui desideri eseguire il cron job.
- Ora — Il numero di ore tra ogni esecuzione del cron job o l'ora di ogni giorno in cui desideri eseguire il cron job.
- Giorno — Il numero di giorni tra ogni esecuzione del cron job o il giorno del mese in cui desideri eseguire il cron job.
- Mese — Il numero di mesi tra ogni esecuzione del cron job o il mese dell'anno in cui desideri eseguire il cron job.
- Giorno feriale — I giorni della settimana in cui desideri eseguire il cron job.
Quando si imposta l'ora, è anche utile impostare il cron in modo che venga eseguito a un minuto dispari, anziché all'inizio o alla fine dell'ora. L'esempio sopra viene eseguito alle 4:41.
Il suggerimento di utilizzare un minuto dispari è perché molti lavori cron sono sempre impostati per essere eseguiti in orari comuni. Ciò significa che un server potrebbe subire un'improvvisa perdita di prestazioni perché sta tentando di elaborare molti processi cron in quei momenti comuni. Impostare il tuo cron job in modo che inizi a un'ora dispari aiuterà con le prestazioni del server.
Tuttavia, se ti trovi su un server dedicato e sai quali processi cron sono in esecuzione, allora va bene usare quei tempi comuni poiché tutte le risorse di sistema saranno dedicate solo al tuo sito o applicazione.
Specificare il comando da eseguire
Quando usi un comando per un cron job, avrà due parti:
[program to execute (perl/pyth/php)][switches][script]
Il programma da eseguire specificherà il tipo di script che stai eseguendo e sarà:
- php
- Pitone
Dovrai sapere dove è stato salvato il tuo script. Verrà chiamato sul suo percorso diretto in quanto si trova sul nostro server, quindi sarà qualcosa di simile a /home/userna5/public_html/path/to/scrip t, con "userna5 ” è il tuo nome utente.
Gli script Perl/CGI dovrebbero essere nel tuo cgi-bin, con permessi di 755. Si prega di leggere il nostro articolo sui permessi dei file per ulteriori informazioni. Ecco alcuni esempi di script cron job che eseguono script PHP, Python o Perl/CGI:
- Per eseguire uno script PHP: php -q /home/usern5/public_html/scripts/testrun.php
- Per gli script Python: python /home/usern5/public_html/path/to/script
- Per gli script Perl/CGI: /home/usern5/public_html/cgi-bin/yourscript.pl
Puoi utilizzare qualsiasi tipo di editor di testo quando crei i tuoi script di lavoro cron. Assicurati di sapere dove l'hai salvato (con le autorizzazioni corrette) come indicato sopra.
Utilizzo della stringa dell'agente utente
La definizione generale di agente utente dal World Wide Web Consortium (W3.org) è:
Un agente utente è qualsiasi software che recupera e presenta contenuti Web per gli utenti finali o è implementato utilizzando tecnologie Web . I programmi utente includono browser Web, lettori multimediali e plug-in che aiutano a recuperare, visualizzare e interagire con i contenuti Web.
L'uso di una stringa dell'agente utente è considerato facoltativo, ma è trattato in questo articolo per gli sviluppatori che potrebbero comunque volerne prendere in considerazione l'utilizzo.
Il wget Il comando è disabilitato su tutti i server condivisi per motivi di sicurezza. La maggior parte degli script eseguiti tramite wget può essere utilizzato con la lince o arricciare comando. Le nuove regole mod_security che sono state applicate con gli ultimi aggiornamenti PHP impediranno a lynx e curl di funzionare se non è impostato un agente utente. Per impostare l'agente utente, puoi utilizzare il seguente comando:
- curl –user-agent YOUR_STRING (URL)
- lynx -dump -useragent=LA TUA_STRINGA (URL)
Il tuo comando cron job completo finirebbe per assomigliare a questo:
/usr/bin/curl --user-agent cPanel-Cron https://example.com/cron.php
Esecuzione manuale di un Cron Job
In alcuni casi, potrebbe essere necessario eseguire un cron job su base non pianificata e manuale. Questo viene spesso fatto per la risoluzione dei problemi degli script o per i test o, in alcuni casi, potrebbe semplicemente essere necessario eseguire immediatamente lo script per la sua funzionalità. Ad esempio, potresti avere uno script che cancella la cache, ma vuoi che venga eseguito immediatamente invece di attendere l'ora pianificata.
ATTENZIONE:Prestare attenzione quando si esegue manualmente un cron job. Comprendi cosa fa lo script prima di eseguirlo alla cieca. Gli script possono variare dal backup del tuo sito allo svuotamento della cache. Può influenzare ciò che vedono i tuoi spettatori, il funzionamento del tuo sito web e le prestazioni del tuo server.
Quando esegui un cron job manualmente, sei immediatamente eseguendo la riga di comando in un terminale o stai eseguendo uno script che dovrebbe essere accessibile tramite un sito web.
Un cron job viene eseguito in base a una pianificazione. L'esecuzione manuale rimuove il vincolo di tempo poiché lo stai eseguendo immediatamente.
Esempio di esecuzione manuale di un cron job PHP:
Nota che dovrai sapere dove si trova lo script. Puoi anche eseguire uno script PHP direttamente dal browser purché tu disponga dell'URL per eseguirlo.
Ad esempio, puoi aprire qualsiasi browser e utilizzare un URL come questo:
https://example.com/scripts/mydailyscript.php
L'esecuzione di un comando Linux che NON è in uno script verrebbe semplicemente eseguito direttamente in un terminale. Dovresti accedere al sito tramite il terminale con i diritti di accesso appropriati. Altrimenti, l'esecuzione manuale di uno script è la stessa che vedi sopra per lo script PHP.
Risoluzione dei problemi di Cron Job
In genere, puoi sapere se il tuo cron job è stato eseguito in base alla notifica o all'output che hai ricevuto durante l'esecuzione di un cron job. Se vuoi essere sicuro che il cron job sia stato eseguito, controlla i log. Per ulteriori informazioni, vedere:Come verificare se un processo Cron è stato eseguito (registro Crontab).
Congratulazioni! Ora che sai come impostare un cron job ed eseguirlo in cPanel, puoi aggiungere attività ripetitive che desideri controllare in base alla tua pianificazione.
Porta la tua attività al livello successivo! Incontra i tuoi clienti online con le soluzioni di hosting condiviso di InMotion.