Cron işimin çalışıp çalışmadığını ve ne zaman çalıştığını doğrulamak istiyorum. Sanırım sudo crontab -e
işlerim için bir günlük var, ama nerede?
Google'da arama yaptım ve /var/log' (adında 'cron' olan hiçbir şey görmediğim) dosyasına bakmamı ve
/etc/syslog.conf' dosyasını düzenlememi öneren öneriler buldum.
Varsayılan bir kurulumda cron işleri şu adrese kaydedilir
/var/log/syslog
Bu günlük dosyasında sadece cron işlerini şu komutu çalıştırarak görebilirsiniz
grep CRON /var/log/syslog
Eğer herhangi bir şeyi yeniden yapılandırmadıysanız, girişler orada olacaktır.
Sadece syslog'da görünen CRON girdilerini içeren bir cron.log dosyası oluşturabilirsiniz. Aşağıdaki talimatları izlerseniz CRON işlerinin syslog'da görünmeye devam edeceğini unutmayın.
Dosyayı açın
/etc/rsyslog.d/50-default.conf
ile başlayan satırı bulun:
#cron.*
bu satırı kaldırın, dosyayı kaydedin ve rsyslog'u yeniden başlatın:
sudo service rsyslog restart
Şimdi burada bir cron günlük dosyası görmelisiniz:
/var/log/cron.log
Cron etkinliği artık bu dosyaya kaydedilecektir (syslog'a ek olarak).
cron.log dosyasında cron'un /etc/cron.hourly, cron.daily vb. komut dosyalarını ne zaman çalıştırdığına dair girdiler göreceğinizi unutmayın. - Örneğin şöyle bir şey:
Apr 12 14:17:01 cd CRON[14368]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Ancak, /etc/cron.daily veya /etc/cron.hourly içinde gerçekte hangi komut dosyalarının çalıştırıldığına dair daha fazla bilgi göremezsiniz, eğer bu komut dosyaları cron.log'a (veya belki de başka bir günlük dosyasına) doğrudan çıktı vermiyorsa.
Bir crontab'ın çalışıp çalışmadığını doğrulamak ve cron.log veya syslog'da aramak zorunda kalmamak istiyorsanız, çıktıyı seçtiğiniz bir günlük dosyasına yönlendiren bir crontab oluşturun - bunun gibi bir şey:
01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
Bu, çalıştırılan komut dosyası tarafından üretilebilecek tüm standart çıktı ve hataları belirtilen günlük dosyasına yönlendirecektir.