很多运维人员在做一些简单监控的脚本时,需要对监控内容能够及时反馈,比如监控CPU使用率达到50%就会收到警告,这时候邮件起了很大的作用,那么如何在shell脚本中调用邮件工具呢,这里有一个简便的方法:
首先,在我们常用的centos和rhel版本中默认安装了postfix,检查一下是否有mail所需的包:按下命令mail,若能正常使用,则跳过下一步,若不能请安装包:mailx
这时我们需要把登录信息下如mail程序:
在文件/etc/mail.rc中添加如下两行:
set from=jack@163.com smtp=smtp.163.com
set smtp-auth-user=jack@163.com smtp-auth-password=******** smtp-auth=login
注:
from为发送邮件的邮箱帐号(jack@163.com)
smtp为发送邮件的域名所需的邮件传输协议,这里可以去网站或者客户端查到(smtp.163.com)
smtp-auth-user发送邮件的帐号(需使用完整帐号)(jack@163.com)
smtp-auth-password帐号的密码(********)
smtp-auth帐号使用状态
这时,我们在/root/test文件中写入要邮寄的内容:
使用mail -s "hello" rose@163.com < /root/test即可成功发送邮件。
把以上命令写入脚本,检测的内容或者结果放入test文件,然后把两行配置文件使用echo追加或者sed的方法加入/etc/mail.rc,邮件寄出之后,在用sed删除即可。