zoukankan      html  css  js  c++  java
  • shell脚本监控网站,异常则进行邮件报警

    服务器系统centos7.6

    1、安装邮箱服务,一般服务器都已经安装了,查看是否安装。

    yum list mailx

    rpm -qa | grep mail

    查看是已经安装了。

    未安装的执行命令安装即可。

    yum -y install mailx

    配置mail,配置文件路径/etc/mail.rc

    vim /etc/mail.rc  

    在尾部加入以下内容

    set from=12345678@139.com                 ###(发送邮箱账号)
    set smtp=smtp.139.com                           ###(发送邮箱smtp服务器地址,很多人使用的是qq的,qq的就需要修改,smtp.qq.com)
    set smtp-auth-user=12345678                 ###(发送邮箱账号,这里只需要写你的邮箱账号,不需要写@后面的字符)
    set smtp-auth-password=123456abc       ###(邮箱的密码)
    set smtp-auth=login                                  ###(登陆方式,这个不用改)

     

    保存退出。

    这里会使用到你邮箱的smtp服务,一般你的邮箱这个服务是关闭的,需要登录你的邮箱开启这个服务。我是139的邮箱,登陆邮箱开启这个服务。

    smtp使用25,465端口,需要在防火墙放行此端口。

    测试给邮箱发送一个邮件

    echo    “服务器存在异常,请登录服务器进行查看”    | mail    -s    "服务器报警"     123@qq.com

    mail邮箱服务搭建完成。

    2、检测网站是否健康运行

    编写一个shell脚本,当网站出现问题时,第一时间发送邮件报警,其实只要邮件服务能正常发送邮件,你想监控服务器,网站,数据库都是可以的。根据你的实际情况进行编写脚本就行。这边是一个简单的监控一个网站是否正常运行,如果返回值不为200时则发送邮件报警。

    vim  url-baojing.sh

    #!/bin/bash

    sta=`curl -I -m 10 -o /dev/null -s -w %{http_code} https://www.test.com/s/mapNum`
    if [ $sta = "200" ]
    then
    echo "ok" >>/root/mail.txt
    else
    echo “PC高校可能存在问题,请及时查看。” | mail -s "服务器异常"    mail1-test.com    mail2-test.com
    fi

    #大概内容如下

    获取自己网站的一个接口,不会经常变的。然后通过sta变量取值。

    如果返回的值为200则输出到一个文件

    如果返回值不为200时,直接进行邮件报警。

    非常之简陋的一个网站报警脚本,后期会不断优化。

  • 相关阅读:
    HDU 6166
    codeforces 798D Mike and distribution
    Codeforces Round #409 (Div. 2) D Volatile Kite
    Codeforces Round #409 (Div. 2) C Voltage Keepsake(二分)
    HDU 4609 3-idiots(FFT计数)
    LightOJ 1236 Pairs Forming LCM(算术基本定理)
    HDU 1540 Tunnel Warfare(线段树,单点更新,区间查询)
    创建最简单的Struts2项目
    java自定义拦截器
    java拦截器和过滤器的区别
  • 原文地址:https://www.cnblogs.com/sxshaolong/p/14202841.html
Copyright © 2011-2022 走看看