Pemberitahuan melalui syslogd (8)
Di server OpenBSD saya, saya mencatat dan mengirim email pesan penting dari aplikasi web saya, yang menggunakan fasilitas local1 . Inilah /etc/syslog.conf saya untuk mewujudkannya:
local1.err /var/log/example.com
local1.err |while read log; do echo "$log" | /usr/bin/mail -s SYSLOG me@example.com; done
Perhatikan bahwa loop while secara tak terbatas membaca setiap baris dari syslogd dan kemudian mengirimkannya melalui email ke echo. Ini penting. Setelah gema menampilkan salurannya, pipa akan berakhir, mengirim email EOF sehingga dapat mengirim email pesan log.
Dengan kata lain, Anda tidak dapat mengirim langsung ke mail melalui syslogd seperti:
local1.err |/usr/bin/mail -s SYSLOG me@example.com
karena syslogd akan terus menulis ke pipa sampai dihentikan sendiri atau mengirim sinyal HUP, di mana saat itu email akan mengirim seluruh rangkaian pesan log dalam satu email besar.
Pemberitahuan melalui newsyslog (8)
Menjadwalkan newsyslog dalam cron adalah cara lain untuk mendapatkan pesan dengan kecepatan lebih lambat atau secara massal.
Misalnya, jika Anda ingin ringkasan email harian dari pesan log, atur tanda M dan tentukan alamat email monitor di /etc/newsyslog.conf :
# logfile_name owner:group mode count size when flags monitor
/var/log/example.com root:wheel 640 7 * 24 M me@example.com
Kemudian jadwalkan newsyslog di crontab:
# minute hour mday month wday command
0 * * * * /usr/bin/newsyslog
1-59 * * * * /usr/bin/newsyslog -m
The -m pilihan untuk newsyslog (8) negara:
Mode pemantauan; hanya entri yang ditandai dengan tanda `M 'yang diproses. Untuk setiap file log yang sedang dipantau, output log apa pun sejak newsyslog terakhir kali dijalankan dengan flag -m dikirimkan ke pengguna yang tercantum di bagian pemberitahuan monitor.