shell脚本监控nginx的运行状态

本文介绍了一个名为nginx_monitor.sh的shell脚本,用于监控Nginx服务的端口状态和进程是否存在。脚本通过netstat检查端口监听情况,使用ps命令获取Nginx进程号,确保Nginx正常运行。脚本可在Linux中通过cronjob定时执行,以实现持续监控。
摘要由CSDN通过智能技术生成

监控逻辑为:监控nginx端口状态是否正常 以及 nginx进程号是否存在
监控脚本名称为nginx_monitor.sh,脚本内容如下
#!/bin/sh
MONITOR_LOG=/home/gavin2/scripts/log/nginx_monitor.log
nginx_monitor()
{
#nginx的端口号
PORT=“80”

#获取nginx端口监听状态,如果nginx正常运行,PORT_FLAG值为0
PORT_STATUS=$(netstat -plnt|grep $1|grep ${PORT})

#获取上一个命令的退出状态,正常退出为0
PORT_FLAG=$?

#使用管道命令查询nginx的进程号
NGINX_STATUS=$(ps -ef |grep $1|grep -v ‘grep’|grep master|awk ‘{print $2}’)

#如果进程号存在并且端口监听正常,则说明nginx正常运行
if [ ${NGINX_STATUS} ] && [ ${PORT_FLAG} = “0” ];then
echo date "+%Y/%m/%d %H:%M:%S $1 is running" >>${MONITOR_LOG} 2>&1
elsehttp://groups.tianya.cn/post-191232-bec4a1fb6a574fdf806c9eaf8e9aa8e1-1.shtml
echo date "+%Y/%m/%d %H:%M:%S [error] $1 has already shutdown" >>${MONITOR_LOG} 2>&1
fihttp:/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值