Hvor er cron / crontab-loggen?

Jeg vil bekrefte at cron-jobben min utføres og på hvilket tidspunkt. Jeg tror det er en logg for mine sudo crontab -e jobber, men hvor?

Jeg søkte på google og fant anbefalinger om å se i / var / log (der jeg ikke ser noe med ' cron' i navnet) og å redigere filen / etc / syslog.conf som jeg heller ikke har.

På en standardinstallasjon blir cron-jobbene logget til

/var/log/syslog

Du kan se bare cron-jobber i den loggfilen ved å kjøre

 grep CRON /var/log/syslog

Hvis du ikke har omkonfigurert noe, vil oppføringene være der.

Kommentarer (12)

Du kan opprette en cron.log-fil som bare inneholder CRON-oppføringene som vises i syslog. Merk at CRON-jobber fortsatt vil vises i syslog hvis du følger instruksjonene nedenfor.

Åpne filen

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

Finn linjen som begynner med:

#cron.*

fjern kommentaren til den linjen, lagre filen og start rsyslog på nytt:

sudo service rsyslog restart

Du bør nå se en cron-loggfil her:

/var/log/cron.log

Cron-aktivitet logges nå i denne filen (i tillegg til syslog).

Merk at i cron.log vil du se oppføringer for når cron kjørte skript i /etc/cron.hourly, cron.daily osv. - f.eks. noe sånt som

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

Du vil imidlertid ikke se mer informasjon om hvilke skript som faktisk ble kjørt i /etc/cron.daily eller /etc/cron.hourly, med mindre disse skriptene sender utdata til cron.log (eller kanskje til en annen loggfil).

Hvis du vil verifisere om en crontab kjører og ikke trenger å søke etter den i cron.log eller syslog, kan du opprette en crontab som omdirigerer utdata til en loggfil etter eget valg - noe sånt som:

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

Dette vil omdirigere alle standard utdata og feil som kan produseres av skriptet som kjøres til loggfilen som er spesifisert.

Kommentarer (5)

Noen ganger kan det i så fall være nyttig å overvåke den kontinuerlig:

tail -f /var/log/syslog | grep CRON
Kommentarer (1)