GNU/Linux >> Belajar Linux >  >> Linux

Pencatatan yang lebih baik untuk cronjobs? Kirim keluaran cron ke syslog?

Solusi 1:

Dalam proses menulis pertanyaan ini, saya menjawab sendiri. Jadi saya akan menjawab sendiri "Jeopardy-style". Ini memperluas jawaban yang diberikan oleh Dennis Williamson.

Berikut ini akan mengirimkan keluaran Cron apa pun ke /usr/bin/logger (termasuk stderr, yang dikonversi ke stdout menggunakan 2>&1 ), yang akan dikirim ke syslog, dengan 'tag' nsca_check_disk . Syslog menanganinya dari sana. Karena sistem ini (CentOS dan FreeBSD) sudah memiliki mekanisme rotasi log bawaan, saya tidak perlu khawatir tentang log seperti /var/log/mycustom.log mengisi disk.

*/5 * * * * root    /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk

/var/log/messages sekarang memiliki satu pesan tambahan yang mengatakan ini:

Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.

Saya suka /usr/bin/logger , karena bekerja dengan baik dengan konfigurasi dan infrastruktur syslog yang ada, dan disertakan dengan sebagian besar distro Unix. Sebagian besar distribusi *nix sudah melakukan rotasi log dan melakukannya dengan baik.

Solusi 2:

Pipa output melalui logger.

0 * * * * root    /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice

Edit: Sepertinya pembaruan Anda sudah tepat.


Linux
  1. Kiat Linux untuk menggunakan cron untuk menjadwalkan tugas

  2. Gunakan anacron untuk crontab yang lebih baik

  3. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  1. Output Lebih Baik Untuk Apt Upgrade Mungkinkah?

  2. Konfigurasikan Pengiriman Log untuk MSSQL Server

  3. Layanan OS Linux 'syslog'

  1. Linux menambahkan output konsol ke file log?

  2. Menggunakan pekerjaan CRON untuk mengunjungi url?

  3. Hapus file log menggunakan tugas cron