出於監控的需要,家里的路由器都一直配置了日志發送功能,每天定時發送日志到指定郵箱。日志倒沒什么好看的,主要是看看路由是不是還在線。
刷了Openwrt后,默認是沒有發送郵件功能的,但對於有無限可能性的Openwrt,這不是什么問題,msmtp正為解決次問題而生。
首先還是安裝msmtp,次軟件官方源里有,在線安裝即可。
安裝好后,配置文件在/etc/msmtprc
//默認賬戶 account default //配置 host smtp.126.com//smtp服務器地址 port 994//端口 #port 25 auth login//鑒權方式 user xxxxxxx@126.com//用戶名 password ****//密碼 auto_from off from xxxxxxx@126.com//發件人 tls on//開啟tls tls_starttls off tls_certcheck off
以上是126郵箱開啟TLS的配置,若不需要TLS則端口號改25,TLS off。
發送腳本
#!/bin/sh EMAIL='To: xxxxxxx@126.com//發件人 Subject: Openwrt Report//主題 The Router is still running.'//正文 echo "$EMAIL" | sendmail -t//輸出命令
執行此腳本便可完成一次發送,結合計划任務,定時執行,只要路由還在線,目標郵箱就可以收到報告。
再更新一個連日志一起發送的腳本
#!/bin/sh
EMAIL='To: xxxxxxx@126.com//發件人
Subject: Openwrt Report//主題
The router is still running\n'$(logread) echo -e "$EMAIL" | sendmail -t