GNU/Linux >> Linux Esercitazione >  >> Panels >> cPanel

Come verificare se un Cron Job è stato eseguito (registro Crontab)

Una domanda abbastanza comune per le attività pianificate eseguite in background è:"Sono in esecuzione?" Queste attività, comunemente note come cron job, sono attività che devono essere eseguite automaticamente per manutenzione, backup e altre esigenze funzionali per il sito Web e il server.

Per determinare se i tuoi lavori cron sono in esecuzione, dovrai distinguere tra la pianificazione delle attività (il crontab) e le attività effettive stesse (i lavori cron). I lavori cron che non producono risultati di output richiedono che tu acquisisca familiarità con i registri del server. Dopo aver determinato i risultati dei log del server, è quindi possibile risolvere i problemi relativi ai processi cron che non sono in esecuzione. Puoi anche modificare uno script in modo che produca un output per mostrare che è in esecuzione.

Il seguente articolo ti aiuterà a distinguere tra un crontab e un cron job, due modi per vedere quando un cron job è in esecuzione e come risolvere i problemi dei cron job che non sono in esecuzione.

  • Capire la differenza tra Crontab e Cron Job
  • 2 modi per vedere se il tuo Cron Job è in esecuzione
  • Risoluzione dei problemi di un Cron Job

NOTA:per eseguire questa funzione, dovrai disporre dell'accesso root sul tuo VPS o server dedicato.

Differenza tra Crontab e Cron Job

Per evitare confusione tra un amministratore principiante e uno sviluppatore o un amministratore di server esperto, è importante comprendere il significato dei termini "crontab" e "cron job".

Se cerchi "scheduling cron job", troverai il termine crontab definito o descritto con quasi nessuna introduzione. Il termine crontab è l'abbreviazione di "cron table" ed è un comando Linux per la pianificazione dei lavori cron. Il crontab è anche l'effettivo file di testo che contiene la pianificazione dei lavori cron.

Un processo cron è un codice o uno script effettivo che stai tentando di eseguire in background in un determinato momento pianificato. Il comando Linux per un cron job è semplicemente cron .

Quindi, se qualcuno ti chiede come è pianificato un cron job nel crontab, sai che si sta riferendo alle informazioni sui tempi e sulla frequenza applicate al cron job nel file di testo noto come crontab.

Ai fini di cPanel, il crontab e il cron job possono essere modificati direttamente nell'interfaccia di cPanel su Cron Jobs pagina. Qui puoi vedere la parte superiore dei Cron Job pagina:

Se disponi di cron job esistenti, li vedrai nella parte inferiore dei cron job pagina. Vedrai i tempi per il cron job (dal file crontab) così come il codice per il cron job. Puoi aggiungere, modificare ed eliminare i cron job e le relative pianificazioni in questa pagina. Ecco come appare la sezione inferiore:

Usando le informazioni crontab fornite in cPanel puoi determinare quando un cron job doveva essere eseguito. In alcuni casi, i cron job non genereranno un output, quindi è importante acquisire familiarità con i file di registro generati e come cercarli.

2 modi per vedere se il tuo Cron Job è in esecuzione

Verifica dei file di registro

In questo esempio, cercheremo nel registro crontab utilizzando il nome file fittizio script.sh . Il comando comunemente usato per cercare file o caratteri in uno schema particolare è grep . Questo comando del terminale può essere utilizzato per cercare nel file di registro i casi in cui "script.sh" è in esecuzione. Questo è il comando utilizzato per cercare "script.sh" nel file di registro cron:

grep "script.sh" /var/log/cron

Se dovessi cercare uno script o un termine diverso nel file di registro, sostituirai semplicemente "script.sh" con il nome del tuo file di script o stringa di testo che stai cercando di trovare nel registro.

Usando il comando grep, puoi visualizzare il registro per vedere l'ultima volta in cui è stato eseguito lo script specifico nel processo cron. Se il cron job non produce un output visibile, è necessario verificare se il cron job ha effettivamente avuto luogo.

Ad esempio, puoi vedere l'ultima volta in cui è stato eseguito un cron job di svuotamento della cache. Dovresti quindi controllare se la cache è stata cancellata vedendo se la cache è vuota o meno. Ecco un esempio di vedere un cronjob in esecuzione controllando il registro:

Il registro mostra un record di quando il file è stato eseguito. Consulta il nostro tutorial se hai bisogno di informazioni su come accedere al terminale tramite cPanel.

Utilizzo dell'output in uno script per mostrare un cron job in esecuzione

Il modo più semplice per vedere se un cron job (con le sue impostazioni crontab) sta funzionando è modificare un cron job esistente in modo che produca un output visibile. È possibile aggiungere una riga di codice nello script esistente per produrre un risultato quando lo script viene eseguito. Se il risultato di questo comando produce un output, puoi utilizzare questo output per confermare che lo script cron è in esecuzione.

La modifica di uno script cron job non deve essere eseguita da un utente che non ha familiarità con il codice o lo script in esecuzione. Poiché i cron job possono essere scritti in molti modi diversi, potresti dover parlare con uno sviluppatore esperto per aiutarti a prevenire eventuali problemi con il tuo sito web.

Risoluzione dei problemi relativi ai Cron Job

Se non vedi alcuna attività nel registro di crontab o se non ricevi un'e-mail riguardante l'attività di cron (per lavori cron con un output), allora vorrai prima ricontrolla che i parametri temporali per il cron job siano corretti. Questo aiuterà a determinare se (e quando) il cron dovrebbe essere in esecuzione in modo da poter risolvere correttamente possibili problemi.

Se sospetti ancora un problema con il cron job, di solito ci sono 3 possibilità per cui potrebbe non essere in esecuzione:

  1. Il demone cron (il processo di sistema che esegue i lavori cron) non ha potuto eseguire lo script o non è stato in grado di inviare un'e-mail
  2. Si sono verificati problemi con il server di posta che ha inviato l'output o l'email è andata persa
  3. Il cron job non ha prodotto un output o un messaggio di errore

In tutti e tre i casi, il cron job fallisce silenziosamente. In altre parole, non c'è alcun risultato visivo dell'esecuzione del cron job.

Nella prima possibilità sarà necessario controllare il log di sistema del webserver per ricercare eventuali errori registrati durante la tentata esecuzione del cron job. Puoi quindi utilizzare il messaggio di errore per isolare dove lo script del processo cron potrebbe non riuscire e apportare le correzioni necessarie.

Potrebbe anche essere necessario esaminare il registro del server di posta per ricontrollare se c'è stato un tentativo di inviare un'e-mail dopo il completamento del cron job. Ricorda che l'indirizzo email designato è impostato nella parte superiore della pagina del lavoro cron in cPanel. Puoi utilizzare l'indirizzo email per isolare i tentativi di posta nel log del server di posta.

Dovresti anche controllare il registro del server di posta se vedi il record del cron job in esecuzione, ma nessuna email prevista. Le e-mail vengono inviate al completamento con successo dei processi cron con un output.

Nella terza possibilità, dovrai aggiungere codice al tuo cron job in modo che produca un output facilmente tracciabile per verificare che sia in esecuzione.

Se non sei sicuro di come controllare i log del server di posta, contatta il supporto tecnico del tuo servizio di hosting o collabora con un amministratore esperto per utilizzare i log per aiutarti a identificare i problemi relativi al server di posta.

Ci sono molti modi in cui un cron job può fallire. Se non sei sicuro di come codificare i cron job, consulta uno sviluppatore esperto per aiutarti ad apportare correzioni o modificare il codice per la risoluzione dei problemi.

Puoi leggere la nostra guida completa sull'impostazione dei cron job in cPanel se hai bisogno di maggiori informazioni su questo argomento.

Assicurati che i clienti della tua azienda, agenzia o rivenditore siano sempre connessi e attivi con il nostro hosting VPS gestito ottimizzato.
cPanel
  1. Come impostare i lavori cron in cPanel

  2. Dov'è il registro cron / crontab? / Come abilitare il Cron Log?

  3. Come impostare un processo Cron

  4. Come impostare un cron job per eseguire un eseguibile ogni ora?

  5. Linux:esegui cron job in primo piano

Come eseguire un lavoro Crontab ogni settimana la domenica

Come configurare un processo cron in cPanel

Come impostare Cron Job in cPanel

Come controllare l'output di Cron Jobs su Hostinger?

Come impostare ed eseguire un cron in cPanel

Come posso ottenere un cron job da eseguire ogni 30 minuti?