linux运维学习shell脚本监控nginx服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运维学习shell脚本监控nginx服务相关的知识,希望对你有一定的参考价值。

        菜鸟学习shell脚本后,动手练手简单小实验,使用shell脚本判断nginx是否正常运行,如果没有运行将nginx服务启动起来。

一、基于进程判断

1、获取nginx进程来判断该服务是否正常启动。

        ps -ef | grep nginx | grep -v grep | wc -l    输出进程行数 然后判断是否为2 如果不是说明该服务没有启动。

         grep -v grep  用来排除掉您所使用grep产生的进程。

2、shell 脚本编写

     先定义一个变量Web

            #!/bin/bash

            Web=`ps -ef |grep nginx|grep -v grep|wc -l`

            if [ $Web -eq 2 ];then

                     echo "you nginx start"

                     exit 0

                else

                     service nginx start

                     exit 1

            fi

定义一个变量Web ,然后判断如果不成立,将使用service nginx start启动服务。

 二、基于端口的判断

    虽然都是获取的数字,但是由于端口不存在的话为空,所以判断是用的是字符串的判断

也就是把判断的运算符使用"="而不是"-eq"

            #!/bin/bash

            WebPort=`netstat -nlt |grep 80|awk ‘{print $4}‘| cut -d : -f 2`

            if [ "$WebPort" = "80" ];then 

                  echo "you nginx start"

                  exit 0

               else        

                    service nginx start

                    exit 1

            fi

当然还有好多方法,也在不断学习和摸索中。(上述脚本对于数据库等其他服务监控也可以)


以上是关于linux运维学习shell脚本监控nginx服务的主要内容,如果未能解决你的问题,请参考以下文章

运维工程师必须掌握的shell技术实战内容

Linux基础之-利用shell脚本实现自动监控系统服务

运维道中道之“Shell脚本日志关键字监控+告警”

Linux运维之Shell编程------监控MySQL错误码及主从复制同步异常

Linux学习总结(六十二)shell脚本5-监控系统开发

shell 4