Kde sa nachádza protokol cron / crontab?

Chcem overiť, či sa moja úloha cron vykonáva a v akom čase. Verím, že existuje protokol pre moje úlohy sudo crontab -e, ale kde?

Hľadal som v Googli a našiel som odporúčania, aby som hľadal v /var/log (v ktorom nevidím nič s 'cron' v názve) a aby som upravil súbor /etc/syslog.conf, ktorý tiež nemám.

V predvolenej inštalácii sa úlohy cronu zaznamenávajú do

/var/log/syslog

V tomto logfile môžete vidieť len úlohy cronu spustením

 grep CRON /var/log/syslog

Ak ste nič neprekonfigurovali, záznamy tam budú.

Komentáre (12)

Môžete vytvoriť súbor cron.log, ktorý bude obsahovať len záznamy CRON, ktoré sa zobrazujú v syslogu. Upozorňujeme, že úlohy CRON sa budú v syslogu zobrazovať aj vtedy, ak budete postupovať podľa nasledujúcich pokynov.

Otvorte súbor

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

Nájdite riadok, ktorý začína:

#cron.*

odkomentujte tento riadok, uložte súbor a reštartujte rsyslog:

sudo service rsyslog restart

Teraz by ste tu mali vidieť súbor protokolu cron:

/var/log/cron.log

Aktivita cronu sa teraz bude zaznamenávať do tohto súboru (okrem syslogu).

Všimnite si, že v súbore cron.log uvidíte záznamy o tom, kedy cron spustil skripty v súbore /etc/cron.hourly, cron.daily atď. - Napr. niečo také:

Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

Neuvidíte však viac informácií o tom, aké skripty boli skutočne spustené vo vnútri /etc/cron.daily alebo /etc/cron.hourly, pokiaľ tieto skripty nepriamym výstupom do cron.log (alebo možno do nejakého iného logovacieho súboru).

Ak chcete overiť, či je crontab spustený, a nemusíte ho hľadať v súbore cron.log alebo syslog, vytvorte crontab, ktorý presmeruje výstup do vami zvoleného logovacieho súboru - niečo také:

01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1

To presmeruje všetok štandardný výstup a chyby, ktoré môžu byť vytvorené spusteným skriptom, do zadaného súboru denníka.

Komentáre (5)

V takom prípade môže byť niekedy užitočné priebežne ho monitorovať:

tail -f /var/log/syslog | grep CRON
Komentáre (1)