zoukankan      html  css  js  c++  java
  • shell脚本监控URL并自动发邮件

    1.安装sendmail:yum install -y sendmail

    2.安装mail:yum install -y mail

    3.安装mutt:yum install -y mutt

    4.启动sendmail:/etc/init.d/sendmail start

    5.查看sendmail状态:/etc/init.d/sendmail status

    如果出现,证明启动失败,原因为postfix与sendmail冲突。

    6.查看postfix状态:service postfix status

    7.停止postfix:service postfix stop

    8.重启sendmail:/etc/init.d/sendmail restart

    9.测试发送邮件:echo 'test' | mail -s 'test'   xxx@qq.com

    1、监控URL是否返回200.如果返回不是200就发邮件预警,编写一个sheel文件,文件名随便起一个就行,如:web.sh

    #!/bin/bash
     
    weblist="/alidata/shell/weblist.txt"
    myemail="admin@qq.com"
     
    for list in `cat $weblist|grep -E -v "#|^$"`
    do
    httpcode=`curl -o /dev/null -s -w %{http_code} "$list"`
    httptime=`curl -o /dev/null -s -w "time_connect: %{time_connect} time_starttransfer:%{time_starttransfer} time_total: %{time_total} " "$list"|grep time_total|awk -F ":" '{print $2*1000}'`
     
    if [ $httpcode = 200 ]||[ $httpcode = 301 ]||[ $httpcode = 302 ]
    then echo "$list is checked ok!"
    else
    echo "Warning: down !"
    echo "$list is down!" | mutt -s "Warning: down !" $myemail
    fi
     
    if [ $httptime -ge 10000 ]
    then echo "$list is timeout!" | mutt -s "Warning: timeout !" $myemail
    #else echo "$list is connect ok!"
    fi
     
    done

    2.创建检查列表:
    weblist.txt

    http://www.1234.com

    3.添加计划任务:
    crontab -e

    0 */1 * * * /alidata/shell/webcheck.sh

    注意:

    1.必须先安装mutt, 用来发送邮件:
    # yum -y install mutt

    # yum -y install sendmail

    service sendmail status
    service sendmail start
    service sendmail restart

    service sendmail stop

    https://blog.csdn.net/fdipzone/article/details/9181995

    https://blog.csdn.net/xianglingchuan/article/details/53896486

    https://blog.csdn.net/zzq900503/article/details/50680461

    复制代码
    linux命令——mutt的安装和使用【转】
    
    首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。
    
      我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件。更多的用法请查阅官网:http://www.mutt.org
    
      一、mutt的安装                                           
    
    1 yum -y install sendmail
    2 #需要安装sendmail并开启防火墙的25端口,如果你需要收邮件110端口也要开
    3 yum -y install mutt
      二、配置信息                                                
    
      关于配置信息,有一点需要说明的,网上很多教程都说,编辑/root/.muttrc以修改配置文件,我想说的是,我在安装完成之后, /root目录下并没有 .muttrc 这个隐藏文件,你可以从其它地方复制过来,或者自己新建一个文件。这里我是复制的。
    
      你可以通过find命令找到Muttrc这个文件,命令如下 find / -name Muttrc ,然后通过命令 cp /etc/Muttrc /root/.muttrc 复制到 /root 下后更名为 .muttrc ,然后你就可以编辑配置文件了。
    
    复制代码
    1 #如果你收到的邮件乱码,设置以下信息
    2 set charset="utf-8"
    3 set rfc2047_parameters=yes
    4 #如果你想自定义发件人信息,需要进行如下设置
    5 set envelope_from=yes
    6 set use_from=yes
    7 set from=root@itdhz.com
    8 set realname="itdhz"
    复制代码
      安装完mutt后,在/usr/share/doc/mutt* 下有一份很好的手册,可以看一下。
    
      三、邮件发送                                       
    
      语 法:
    
      mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
      参 数:
     -a <文件> 在邮件中加上附加文件。
     -b <地址> 指定密件副本的收信人地址。
     -c <地址> 指定副本的收信人地址。
     -f <邮件文件> 指定要载入的邮件文件。
     -F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
     -h 显示帮助。
     -H <邮件草稿> 将指定的邮件草稿送出。
     -i <文件> 将指定文件插入邮件内文中。
     -m <类型> 指定预设的邮件信箱类型。
     -n 不要去读取程序培植文件(/etc/Muttrc)。
     -p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
     -R 以只读的方式开启邮件文件。
     -s <主题> 指定邮件的主题。
     -v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
     -x 模拟mailx的编辑方式。
     -z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。
    
      四、举例                                         
    
      这里我用自己备份网站的一段代码举例加以说明
    
    mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql </root/readme.txt
    或者 
    echo "test" | mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql
      这段代码表示,发送邮件到abc@mail.com 这个邮箱,邮件主题是“itdhz数据备份”,邮件内容在 /root/readme.txt 中,邮件中包含附件 /home/backup/itdhz.sql。如果要发送多个附件,需要在每个附件前加 -a 参数。
    
    原文:http://www.itdhz.com/post-179.html


    CENTOS 使用 MUTT发送邮件

     

    有些时候我们需要在Centos服务器上发送邮件,例如备份MySQL数据库并发送到指定邮箱,这里我们就说下如何从Centos的shell命令发送邮件。

    检查、安装、启动sendmail

    复制代码
    //检查
    ps -ef | grep sendmail
    
    //安装
    yum install sendmail
    
    //启动
    service sendmail start
    
    //开机启动
    chkconfig --level 2345 sendmail on
    复制代码

    检查并安装mutt

    //检查mutt是否安装, 已安装会返回/usr/bin/mutt
    # which mutt
    
    //安装mutt
    # yum install mutt

    配置mutt

    1. 配置全局mutt, 直接编辑 /etc/Muttrc 文件
    2. 配置用户级mutt, 复制/etc/Muttrc 到 /当前用户/.muttrc
    //为root用户复制.muttrc
    # cp /etc/Muttrc /root/.muttrc

    配置mutt, 上述两种方法修改方式相同

    复制代码
    #设置邮件编码方式
    set charset="utf-8" 
    
    #自定义发件人信息 
    set envelope_from=yes #这条默认没有,请手动添加
    set use_from=yes 
    set from=xxx.com@xx.com
    set realname="Master Lee"
    复制代码

    测试发送邮件

    //语法
    mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
    发送
    mutt 1343652445@qq.com -s "测试mutt" -a test.txt < test.txt
    
    echo "邮件正文" | mutt 1343652445@qq.com -s"xxxx" -a test.txt

    echo 'it is only a test' | mail -v -s "test eamil" 11111@11111.com    测试发邮件

  • 相关阅读:
    C#(64位系统) 解决"未能加载文件或程序集,或它的某一个依赖项..."
    C#匿名方法与Delegate类型转换错误
    记录C#错误日志工具
    C# 引用访问权限,很多老手都不懂
    .NET基础之自定义泛型
    C# Socket学习笔记一
    .Net垃圾收集机制—了解算法与代龄
    审计系统---堡垒机项目之环境准备
    审计系统---堡垒机项目之表结构设计
    审计系统---堡垒机python下ssh的使用
  • 原文地址:https://www.cnblogs.com/zhanglijun/p/9003533.html
Copyright © 2011-2022 走看看