前言
前陣子使用了 syslog-ng 來收 log,但是要看 log 還要登入進 Raspberry Pi 上看略嫌麻煩,不如讓 RouterOS 定時寄到我信箱看比較方便些。(本腳本適用於每日 log 量不大的家用設備,一天會超過兩三千條的還是乖乖用 syslog server 吧!)
Script
1 2 3 4 5 6 7 8 9 10 11
| #read log :local logcontent :foreach int in=[/log find ] do={ :set logcontent ("$logcontent\r\n" .[/log get $int time]. " - " .[/log get $int message]) } #send email /tool e-mail send to="[email protected]" subject=("[Syslog] " . "Mikrotik " . [/system clock get date]) body=$logcontent #delete old log /system logging action set memory memory-lines=1 /system logging action set memory memory-lines=500 :log info "finishing the log dump"
|
用法
- 首先在 /system script 下新增腳本,將上面那段腳本貼上
- 在 /system scheduler 下新增行程,輸入
/system script run LogDump
我是設定每 6 小時寄送一次,因為這個腳本一次寄送上限大概是 500 條 log 左右,
如果設備每天的 log 不多,可以調整為每 12 小時或是每 24 小時寄送一次就好。
參考資料