crond实现邮件告警

实验环境:centos 6.8

所需软件:mailx或msmtp或smtpEmail等 smtp客户端程序

所需帐号:我这使用的是163邮箱。

本方案优点:安装软件少,无须启动postfix等邮件服务。无须配置postfix邮件服务。由于调用的是注册邮箱,所以也不会给移入到垃圾邮件中。 

建议:生产中,不管是什么服务发送邮件的建议使用外部smtp帐号,不会导致移入到垃圾邮件列表中。

需求环境:由于我们线上脚本过多,而且也没有报警警告,所以无法获取其执行情况。导致最后老板发现,结果懂的。

然后与开发沟通,运维这边无法保证脚本的逻辑性错误,只能保证代码是否执行。代码逻辑性错误需要在脚本中判断并STDERR输出。

我是安装的mailx来实现的,过程简单。

安装mailx:yum -y install mailx

安装完成后会生成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/sbin/sendmail{,.bak}vim /usr/sbin/sendmail    #!/bin/bash    #    MAIL=`cat -`    echo $MAIL | mail -s "警告" AuthUser@163.com

配置完成。

测试:

crontab -e*/1 * * * * echo "1"

添加一行输出,那么1分钟后就可以收到报警邮件了。

原理:

crond计划任务执行任务后,标准输出,错误输出都会输入到屏幕。

如果定义了MAILTO变量(在/etc/crontab已经定义),就会调用/usr/sbin/sendmail发送邮件。

crond传递格式如下:

From: root (Cron Daemon) To: root Subject: Cron <root@opsnote> echo "1" Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generatedX-Cron-Env: <LANG=en_US.UTF-8> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> 1

那个脚本的的作用就是截取这些内容,然后调用mail命令将这些内容发送出去。

思路提供完毕。希望能举一反三。

如有疑问可以联系:root@opsnote.com

原创文章,作者:SSA,如若转载,请注明出处:http://www.178linux.com/23256

(0)
SSASSA
上一篇 2016-07-10 12:15
下一篇 2016-07-10 12:15

相关推荐

  • EXT4文件系统的初步使用

    文件系统的类型多种多样,我们接触得比较多的当属Windows系统上的FAT32和NTFS。 而EXT文件系统(Extended filesystem)则是linux上常见的文件系统类型。 目前最新的版本是ext4,常见于CentOS6之中。 1.查看当前系统中有没有挂载使用中的EXT4文件系统,可以使用mount命令: 2.如何创建一个EXT4的文件系统(f…

    系统运维 2016-02-14
  • 文本处理工具sed

    处理文本的工具sed     stream EDitor,行编辑器     sed是一种流编辑器,他一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,成为“模式空间”(pattern space),接着用sed命令处理缓存区中的内容,处理完成后,把缓冲区的内容送往屏幕。…

    Linux干货 2016-08-10
  • N26-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相 关示例演示。 文件管理类命令:mkdir rmdir cp rm mv ①mkdir命令:创建目录 格式:mkdir [OPTION]… DIRECTORY… option -m, –mode=MODE -p, –paren…

    Linux干货 2017-02-02
  • N26-博客作业-week12

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求; (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; (3) 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; (4) 访问资源:获取请求报文中请求的资源; (5) 构建响应报文: (6) 发送响应报文: (7) 记录…

    Linux干货 2017-05-23
  • 网络管理

                 网络管理 一、 OSI七层模型   OSI七层模型结构如下            OSI七层模式基本只是用于我们学习时候使用,因为其将每层协议定义的太规范,导致缺乏灵活性,所以现实中仍然以tcp/ip四层模型为主,OSI七层模型从下至上依次为:      1、 物理层( physical layer)   物理层是通过网络介质(如网…

    Linux干货 2016-09-06
  • nmcli命令用法简介

    nmcli:地址配置工具 用法:nmcli [OPTIONS] OBJECT { COMMAND | help } 一般使用的情况有: 设备:正在使用的网络端口 链接:一组配置设置,对于一个单一的设备可以有多个连接,可以在链接之间切换 常用命令:     nmcli connection show &nbsp…

    Linux干货 2016-09-07