Bash Shell如何实现运维监控脚本

发布时间:2021-11-08 10:26:21 作者:小新
来源:亿速云 阅读:131

这篇文章给大家分享的是有关Bash Shell如何实现运维监控脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。



      一、功能分析


      1.要知道服务器是否与公网联通最简单的办法就是ping一个公网的IP地址。
      2.如果你ping一个公网的IP地址的话,存在单点故障啊,如果这个IP挂了呢,并不是服务器的原因呢,所以这里要选用两个IP。
      3.在这里就选择google.cn和baidu.com,这两个一起挂的可能性几乎为0,这个安全级别是我们可以接受的。
      4.如果发现网路不通(就是百度和谷歌都ping不通了)怎么通知我呢?就用联移的短信猫通知我,只需在数据库中插入一行数据即可。

     二、代码功能实现构思

     1.ping百度,把执行结果记录到一个临时文件中。ping通返回值为0,ping不通返回值为1.
     2.ping谷歌,把执行结果记录到一个临时文件中。ping通返回值为0,ping不通返回值为1.
     3.把上面两个命令的两个返回值交给一个变量。
     4.判断这个变量的值。00为通,01或者10不能代表是服务器的问题。如果是11就肯定是服务器与外网断了。
     5.这时需要报警给SA了。

     三、代码实施

     #!/bin/bash

#-----------Network Check And Send a Message BY 赵班长-----------

DOMAIN1=www.baidu.com
DOMAIN2=www.google.cn
USER=sms
PASSWORD=unixhot
MYSQLHOST=192.168.0.12

ping -c 2 $DOMAIN1 >/dev/null
    echo -n $? > /tmp/network-status
ping -c 2 $DOMAIN2 >/dev/null
    echo -n $? >> /tmp/network-status
STATUS=`cat /tmp/network-status`

if [ "$STATUS" -eq 11 ];then
   /usr/bin/mysql -h $MYSQLHOST -u$USER -p$PASSWORD sms -e "insert into T_SendTask(DestNumber,Content) values('1368308*****','Network is Bad')"
fi

    四、脚本执行。

    1.加上执行权限,并执行。
    2.手动进行断网测试。
    3.检测是否运行正常。
    4.根据生产环境的具体情况,应用到计划任务中。

感谢各位的阅读!关于“Bash Shell如何实现运维监控脚本”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. bash shell基础编程
  2. Bash编程入门

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

shell

上一篇:分析MySQL中FTWRL一个奇怪的堵塞现象

下一篇:替换Windows登录脚本的组策略参数有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》