In questo tutorial, vedremo come controllare i registri cron e monitorare i lavori in tempo reale in Ubuntu 18.04. Un cron job è un'utilità di pianificazione utilizzata per l'automazione di attività ripetitive in un ambiente Linux. Normalmente viene eseguito a un'ora e una data specifica come dettate dall'amministratore di sistema. I registri cron aiutano davvero l'amministratore a verificare se i lavori cron sono stati eseguiti o meno in un determinato momento.
Di solito, puoi visualizzare gli eventi cron usando
cat /var/log/syslog | grep cron
Risultato
Tuttavia, è preferibile avere un file cron.log separato che puoi utilizzare per monitorare gli eventi cron.
Configurazione del file cron.log
Per prima cosa vai su /etc/rsyslog.d/50-default.conf
file e cerca questa riga #cron.* /var/log/cron.log
cat /etc/rsyslog.d/50-default.conf | grep cron
Risultato
#cron.* /var/log/cron.log
# cron,daemon.none;\
Utilizzando il tuo editor di testo preferito, apri il file e decommenta la riga come mostrato nella riga 10
Quindi, crea il file cron.log
vi /var/log/cron.log
Riavvia il servizio rsyslog
systemctl restart rsyslog
Controlla lo stato di rsyslog per assicurarti che sia in esecuzione
systemctl status rsyslog
Risultato campione
Da allora in poi tutti i log verranno salvati in /var/log/cron.log
file.
Successivamente, creeremo un watchcron comando che invocheremo per dare un'occhiata agli eventi di cron in tempo reale.
crea il file watchcron
nano watchcron
Aggiungi quanto segue
#!/bin/bash
watch -n 10 tail -n 25 /var/log/cron.log
Salva ed esci
Nota :
watch -n 10 aggiorna la pagina ogni 10 secondi.
tail -n 25 mostra le ultime 25 voci.
Assegna al file watchcron i permessi di esecuzione
chmod +x watchcron
Copialo in /usr/sbin come mostrato
cp watchcron /usr/sbin
Per guardare gli eventi cron in tempo reale eseguiti
watchcron
Risultato campione
Every 10.0s: tail -n 25 /var/log/cron.log Sun May 13 14:00:19 2018
May 13 06:47:01 ip-172-31-41-251 CRON[26305]: (root) CMD (test -x /usr/sbin/anac
ron || ( cd / && run-parts --report /etc/cron.weekly ))
May 13 07:17:01 ip-172-31-41-251 CRON[26993]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 08:17:01 ip-172-31-41-251 CRON[28255]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 09:17:01 ip-172-31-41-251 CRON[29487]: (root) CMD ( cd / && run-parts -
-report /etc/cron.hourly)
May 13 10:11:01 ip-172-31-41-251 CRON[30655]: (root) CMD (/sbin/reboot)
May 13 10:11:34 ip-172-31-41-251 cron[1226]: (CRON) INFO (pidfile fd = 3)
May 13 10:11:34 ip-172-31-41-251 cron[1226]: (CRON) INFO (Running @reboot jobs)
May 13 10:17:01 ip-172-31-41-251 CRON[2506]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 11:17:01 ip-172-31-41-251 CRON[2986]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 12:17:01 ip-172-31-41-251 CRON[3252]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
May 13 13:17:01 ip-172-31-41-251 CRON[3513]: (root) CMD ( cd / && run-parts --
report /etc/cron.hourly)
Se non desideri ricevere email da cron, aggiungi questa riga all'inizio del tuo file crontab
MAILTO=""
In questo articolo, ti abbiamo mostrato come monitorare i registri dei lavori cron in tempo reale utilizzando un singolo comando. Sentiti libero di provare la procedura e darci il tuo feedback. Grazie.