出于监控的需要,家里的路由器都一直配置了日志发送功能,每天定时发送日志到指定邮箱。日志倒没什么好看的,主要是看看路由是不是还在线。
刷了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