V tomto tutoriálu se podíváme na to, jak kontrolovat protokoly cron a monitorovat úlohy v reálném čase v Ubuntu 18.04. Úloha cron je plánovač úloh používaný pro automatizaci opakujících se úloh v prostředí Linuxu. Obvykle se spouští v určitý čas a datum podle pokynů správce systému. Protokoly cronu opravdu pomáhají správcům ověřit, zda úlohy cronu proběhly nebo ne v konkrétní čas.
Obvykle můžete události cronu zobrazit pomocí
cat /var/log/syslog | grep cron
Výstup
Je však vhodnější mít samostatný soubor cron.log, který můžete použít ke sledování událostí cron.
Nastavení souboru cron.log
Nejprve přejděte na /etc/rsyslog.d/50-default.conf
soubor a vyhledejte tento řádek #cron.* /var/log/cron.log
cat /etc/rsyslog.d/50-default.conf | grep cron
Výstup
#cron.* /var/log/cron.log
# cron,daemon.none;\
Pomocí svého oblíbeného textového editoru otevřete soubor a odkomentujte řádek, jak je znázorněno na řádku 10
Dále vytvořte soubor cron.log
vi /var/log/cron.log
Restartujte službu rsyslog
systemctl restart rsyslog
Zkontrolujte stav rsyslog a ujistěte se, že běží
systemctl status rsyslog
Ukázkový výstup
Od této chvíle budou všechny záznamy uloženy na /var/log/cron.log
soubor.
Dále vytvoříme watchcron příkaz, který vyvoláme, abychom mohli nahlédnout na události cron v reálném čase.
vytvořte soubor watchcron
nano watchcron
Přidejte následující
#!/bin/bash
watch -n 10 tail -n 25 /var/log/cron.log
Uložit a ukončit
Poznámka:
watch -n 10 obnovuje stránku každých 10 sekund.
tail -n 25 zobrazí posledních 25 záznamů.
Udělte souboru watchcron oprávnění ke spuštění
chmod +x watchcron
Zkopírujte jej do /usr/sbin, jak je znázorněno
cp watchcron /usr/sbin
Chcete-li sledovat běh událostí cron v reálném čase
watchcron
Ukázkový výstup
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)
Pokud si nepřejete dostávat e-maily od cronu, přidejte tento řádek na začátek souboru crontab
MAILTO=""
V tomto článku jsme vám ukázali, jak monitorovat protokoly úloh cron v reálném čase pomocí jediného příkazu. Neváhejte a vyzkoušejte postup a sdělte nám svůj názor. Děkuji.