4 modi per verificare se cron funziona su Linux

cron è un job scheduler per sistemi operativi Linux e Unix-like. Viene preinstallato su tutte le distribuzioni Linux ed è particolarmente adatto per automatizzare attività ripetitive.

Affinché cron funzioni correttamente, è necessario verificare periodicamente che l’utilità funzioni correttamente sul sistema. Puoi farlo utilizzando quattro modi diversi, incluso il controllo dello stato del servizio cron, l’esame dei registri cron, l’esecuzione di un processo cron di prova e l’elenco dei processi in esecuzione sul tuo sistema.

Cos’è Cron?

Il gestore del lavoro silenzioso, cron, automatizza e pianifica le attività di sistema. Gli utenti che configurano e gestiscono ambienti software utilizzano cron per pianificare lavori come comandi o script di shell, chiamati anche lavori cron, da eseguire periodicamente a orari o intervalli fissi.

cron automatizza le attività di manutenzione o amministrazione del sistema che potresti dover eseguire frequentemente.

Esistono diverse implementazioni disponibili su Linux. La versione che avrai dipende dalla tua distribuzione. “Vixie cron”, dal nome del suo sviluppatore originale, Paul Vixie, è comune e predefinito su Debian e Ubuntu. Arch non ha alcuna versione di cron a favore dei timer systemd.

cronie è un fork di Vixie cron disponibile come pacchetto Arch standard. Per installarlo, usa pacman:

 sudo pacman -S cronie 

Quindi avvialo e abilitalo con:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Puoi vedere quale versione di cron è installata sul tuo sistema cercando la sua pagina man:

 man cron 

Come verificare se cron funziona su Linux

Ecco alcuni modi per verificare se cron funziona correttamente:

  Come utilizzare il comando chown su Linux

1. Controlla lo stato del servizio cron su Linux

Un modo per verificare se cron funziona è controllare lo stato del servizio cron eseguendo un comando Linux di base. Apri il terminale Linux premendo Ctrl + Alt + T e usa il comando systemctl per verificare lo stato di cron:

 sudo systemctl status cron 

Se vedi il seguente output, significa che cron è attivo e funziona correttamente sul tuo sistema.

Ma cosa succede se cron è in uno stato inattivo come mostrato di seguito?

Puoi avviare il servizio in questo modo:

 sudo systemctl start cron.service 

Dopo aver avviato il servizio cron, abilitalo in modo che si avvii ogni volta che il sistema si riavvia:

 sudo systemctl enable cron.service 

2. Controlla i registri cron su Linux

Un altro modo per verificare se cron funziona correttamente è esaminare i file di registro. I log di cron sono archiviati nella directory /var/log/syslog su Linux.

syslog è un protocollo utilizzato dai sistemi Linux per centralizzare i registri dei dati degli eventi. È quindi possibile accedere ai registri per eseguire controlli, monitoraggio, risoluzione dei problemi, reporting e altre attività operative IT necessarie.

Puoi vedere i log del lavoro cron nel file syslog eseguendo il seguente comando:

 grep 'cron' /var/log/syslog 

Vedrai un output simile che indica che cron funziona correttamente e che i suoi registri vengono archiviati nel file di registro:

Poiché la cartella syslog contiene altri log di sistema insieme ai log di cron, può essere un po’ complicato esaminare solo i log relativi a cron nel file. Puoi risolvere questo problema creando un file di registro separato che memorizza solo le voci cron che appaiono nel file syslog.

  Come copiare e incollare testo nella shell Bash di Linux

In questo esempio utilizzeremo l’editor nano, ma puoi utilizzare qualsiasi editor con cui ti senti a tuo agio.

Apri il seguente file usando nano:

 nano /etc/rsyslog.d/50-default.conf 

Individua la riga che inizia con:

 #cron.* 

Decommenta questa riga rimuovendo il segno cancelletto (#). Quindi, salva ed esci dal file premendo Ctrl + X, quindi premi Y e premi Invio.

Riavvia il servizio rsyslog emettendo questo comando:

 sudo service rsyslog restart 

Ora riceverai i log nel file cron.log situato nella directory /var/log.

Se il tuo terminale non riesce a recuperare alcun registro, ciò potrebbe significare che cron non è in esecuzione. In tal caso, conferma se cron funziona o meno utilizzando altri metodi.

3. Esecuzione di un lavoro cron su Linux

Puoi anche verificare se cron funziona semplicemente creando un processo cron di prova ed eseguendolo. Se il lavoro riesce a eseguire l’attività, significa che sta funzionando bene.

Devi prima creare uno script Bash. Lo scripting Bash ti consente di automatizzare le attività quotidiane su Linux.

Creiamo uno script Bash che stamperà “il mio cronjob funziona!” in un file TXT. Per creare il file, innanzitutto, trova la tua attuale directory di lavoro usando questo comando:

 pwd 

Crea un file nella directory corrente utilizzando il comando touch:

 touch file.txt 

Successivamente, crea un file Bash usando nano:

 nano script.sh 

Aggiungi i seguenti contenuti al file:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

Assicurati di fornire la posizione corretta del file di testo che hai creato. Salva ed esci dal file premendo Ctrl + X, quindi Y e premi Invio.

Dai i permessi di esecuzione allo script Bash:

 chmod +x script.sh 

Ora crea un processo cron per eseguire lo script. Per fare ciò, apri il file crontab con:

 crontab -e 

Immettere la riga seguente alla fine del file.

 * * * * * /path/to/script.sh 

I cinque asterischi corrispondono all’orario di esecuzione, in cui il primo asterisco rappresenta i minuti (0-59), il secondo rappresenta le ore (nel formato 24 ore, quindi 13:00 è 13, mezzanotte inizia alle 0), il il terzo asterisco indica il giorno (0-7, 0 e 7 sono domenica), il quarto indica il mese e l’ultimo asterisco indica l’anno.

  Come ascoltare YouTube Music su Linux con Ytmdesktop

Nel file sono menzionati anche il nome del file eseguibile e il relativo percorso.

Dopo aver salvato e chiuso il file, sul terminale verrà visualizzato il messaggio “crontab: installazione nuovo crontab”.

Per verificare se il lavoro cron ha funzionato o meno, vai alla directory di file.txt e stampane il contenuto sul terminale usando cat:

 cat file.txt 

Ciò indica che cron funziona correttamente.

4. Controlla i processi in esecuzione su Linux

Un altro modo per verificare se il demone cron funziona è elencare i processi in esecuzione sul tuo sistema. Puoi ottenere questo risultato utilizzando il comando ps. Il demone cron verrà visualizzato nell’output come crond.

 ps aux | grep cron 

Ciò conferma che il processo cron è in esecuzione sul tuo sistema Linux.

Automatizza e pianifica le attività di sistema con cron

cron è una delle utilità più vitali su Linux che consente al sistema di funzionare in modo efficiente. A volte devi verificare se cron funziona mentre risolvi i problemi di sistema.

Puoi raggiungere questo obiettivo controllando i registri cron o visualizzando i processi in esecuzione sul tuo sistema. Puoi anche controllare lo stato del cron usando l’utilità systemctl. Oltre a ciò, l’esecuzione di un processo cron di prova può anche dirti se il servizio è in esecuzione o meno.

Il buon funzionamento di cron ti consente di automatizzare e pianificare i lavori di sistema quotidiani. La maggior parte dei processi cron vengono creati automaticamente dalle applicazioni installate. L’automazione e la pianificazione delle attività migliora le prestazioni generali del sistema e lo mantiene integro.