实验环境: centos 6.8
所需软件: smtp客户端程序,如mailx、msmtp和smtp电子邮件
所需账号:我使用的是163的邮箱地址。
本方案的优点:安装软件少,不需要启动postfix等邮件服务。 不需要配置postfix邮件服务。 因为正在调用登录邮件地址,所以也不会移动到垃圾邮件中。
建议:在生产中,无论什么样的服务发送邮件,都建议使用外部smtp帐户。 它不会移动到垃圾邮件列表中。
需求环境:我们的在线脚本太多,也没有警报警告,所以无法获取执行情况。 最后上司发现了。 结果我知道了。
而且与开发的交流,运行时方不能保证脚本的逻辑错误,只能保证代码是否执行。 代码的逻辑错误必须通过脚本判断并STDERR输出。
我安装了mailx实现了。 过程很简单。
mailx安装: yum-yInstallmailx
安装完成后,将生成mail命令。
运行一次mail命令将生成/etc/mail.rc文件。
编辑/etc/mail.rc将添加到最后一行
set from=FromUser@163.com
set smtp=smtp.ym.163.com
set SMTP-auth-user=authuser @ 163.com
set smtp-auth-password=PASSWORD
set smtp-auth=login
测试邮件是否正常发送和接收
echo '123456' | mail -s '报警' AuthUser@163.com
如果正常的话,会收到邮件
配置脚本:
mv/usr/s寂寞酒馆/sendmail{, bak}vim/usr/s寂寞酒馆/sendmail#! (寂寞酒馆/bash # mail=` cat-` echo $ mail|mail-s '警告(AuthUser@163.com
配置完成。
测试:
crontab-e*/1****echo'1'
添加一行输出后,1分钟后会收到报警邮件。
原理:
crond计划执行任务后,标准输出、错误输出全部输入画面。
如果定义了MAILTO变量,则已经在/etc/crontab中定义了该变量。 调用/usr/s的寂寞酒馆/sendmail发送邮件。
crond传输格式如下。
来自: root (cron daemon ) to : root subject : cron echo '1' content-type : text/plain; charset=utf-8 auto-submitted 3360 auto-generated x-cron-env : x-cron-env 3360 x-env 3360 x-crron-env : x-crenv 3360 x
该脚本的作用是剪切这些内容,然后调用mail命令进行发送。
构想的提供结束。 希望能举一反三。
如有疑问,请联系root@opsnote.com
原创文章,作者: SSA,转载请注明出处: http://www.178linux.com/23256