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.
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.