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时,直接进行邮件报警。

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

  • 相关阅读:
    A Tour of Go Switch
    A Tour of Go Exercise: Fibonacci closure
    curl的简单使用
    thinkphp自动验证方法的使用
    Forbidden You don't have permission to access / on this server. You don't have permission to access /phpmyadmin/ on this server. 解决办法
    创建、删除文件夹和文件夹里的文件
    图片的copy,从一个目录复制到另一个目录
    如何把内容写入到文件
    读取文件操作
    文件打开操作
  • 原文地址:https://www.cnblogs.com/sxshaolong/p/14202841.html
Copyright © 2011-2022 走看看