因为公司服务器有时候有的服务会死掉,想找个方法在出问题的时候发邮件给出通知。
于是开始在网上找既简单又有效的解决方案,mutt+msmtp,看了几篇帖子,照着搞定了。现在整理如下。
①下载msmtp并安装
wget http://nchc.dl.sourceforge.net/project/msmtp/msmtp/1.6.5/msmtp-1.6.5.tar.xz xz -d msmtp-1.6.5.tar.xz #将msmtp-1.6.5.tar.xz解压为msmtp-1.6.5.tar tar -xvf msmtp-1.6.5.tar cd msmtp-1.6.5 ./configure --prefix=/usr/local/msmtp make && make install cd /usr/local/msmtp/ mkdir etc #配置文件目录和配置文件都要自己建 cd etc vim msmtprc #手动创建配置文件 account default host smtp.163.com #你的发送邮件服务器 port 25 from example@163.com #要从哪个邮箱发出 auth login tls off user example@163.com #邮箱用户名 password PASSWORD #邮箱明文密码,如果觉得不安全可以把文件改为600属性 logfile /usr/local/msmtp/etc/mmlog #我直接把日志文件放这里了。
保存退出。简单测试下:
/usr/local/msmtp/bin/msmtp shoujianxiang@163.com #收件箱
输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果提示错误根据错误代码和日志找原因
下面开始安装 mutt这个东西,我是centos6.5,我就直接yum了
yum -y install mutt
安装完成后要手动给他建立一个配置文件,
vim /etc/Muttrc set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径 set use_from=yes set realname="example@163.com" set editor="vim"
保存退出。现在可以测一下了。
echo "testmail" | mutt -s "邮件标题测试" -a /etc/hosts shoujianxiang@163.com
这里的-a 是指添加附件,如果是多个附件的话就 多加几个 -a 文件名(附件我没有添加成功)
mutt -s "邮件标题--测试" shoujianxiang@163.com < /etc/issue cat /etc/issue | mutt -s "邮件主题" shoujianxiang@163.com
上面两行的意思都是以 /etc/issue 文件的内容作为邮件内容。
好啦,邮件功能好啦,接下来就是脚本了,脚本写好后就可以在特定条件下发邮件了。
我是直接用nmap扫描服务端口,如果服务端口异常,那就发邮件。
然后弄个定时任务就好了,我定了一分钟一次,如果服务挂掉,那么将一分钟发一份邮件,直到修复为止。
crontab -e */1 * * * * /script.sh
好啦,就到这里吧。这东西不用自己搭建邮件服务器,简单实用。
欢迎加2000人技术QQ群一起学习探讨linux相关知识:100094104
-
« 上一篇:
Redis集群安装及学习心得
-
别人家的机房:最强布线让处女座无话可说
:下一篇 »