Noriu patikrinti, ar mano "cron" darbas vykdomas ir kokiu laiku. Manau, kad yra mano sudo crontab -e
užduočių žurnalas, bet kur?
Ieškojau "Google" ir radau rekomendacijų ieškoti /var/log
(kuriame nematau nieko su 'cron' pavadinime) ir redaguoti failą /etc/syslog.conf
, kurio taip pat neturiu.
Įdiegus pagal numatytuosius nustatymus, cron užduotys registruojamos į
/var/log/syslog
Šiame žurnalo faile galite matyti tik cron užduotis, paleidę
grep CRON /var/log/syslog
Jei nieko neperkonfigūravote, įrašai bus ten.
Galite sukurti cron.log failą, kuriame būtų tik CRON įrašai, rodomi syslog'e. Atkreipkite dėmesį, kad CRON užduotys vis tiek bus rodomos syslog'e, jei laikysitės toliau pateiktų nurodymų.
Atidarykite failą
/etc/rsyslog.d/50-default.conf
Raskite eilutę, kuri prasideda:
#cron.*
panaikinkite šios eilutės komentarą, išsaugokite failą ir iš naujo paleiskite rsyslog:
sudo service rsyslog restart
Dabar čia turėtumėte matyti "cron" žurnalo failą:
/var/log/cron.log
Dabar "Cron" veikla bus registruojama šiame faile (be syslog).
Atkreipkite dėmesį, kad cron.log matysite įrašus apie tai, kada cron paleido scenarijus /etc/cron.hourly, cron.daily ir t. t. - pvz., kažkas panašaus į:
Apr 12 14:17:01 cd CRON[14368]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Tačiau nematysite daugiau informacijos apie tai, kokie scenarijai iš tikrųjų buvo paleisti /etc/cron.daily arba /etc/cron.hourly, nebent tie scenarijai būtų tiesiogiai išvesti į cron.log (arba galbūt į kokį nors kitą žurnalo failą).
Jei norite patikrinti, ar crontab paleistas, ir neieškoti jo cron.log arba syslog, sukurkite crontab, kuris nukreipia išvestį į pasirinktą žurnalo failą, pvz:
01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
Taip visa standartinė išvestis ir klaidos, kurias gali sukelti paleistas scenarijus, bus nukreiptos į nurodytą žurnalo failą.