Linux 生产环境实时监控Nginx脚本

51 篇文章 0 订阅
6 篇文章 0 订阅
#!/bin/bash
# name : Alenx
# start_user : admin

V_LOG="/opt/logs/listen_nginx.log"
V_NGINX="systemctl restart nginx.service"
V_NGINX_PORT="0.0.0.0:80 0.0.0.0:443"

logs=$(ls /opt/logs/ | grep listen_nginx.log | wc -l)
if [ $logs -lt 0 ]; then
    touch /opt/logs/listen_nginx.log
    continue
fi


function restart_nginx(){
    echo "*************$(date)***************" >> $V_LOG
    $V_NGINX  >> $V_LOG
    echo "-----------------------------------" >> $V_LOG
    echo "$(ps aux | grep nginx | grep -v listen_nginx.sh | grep -v listen_nginx.log | grep -v grep)" >> $V_LOG
    echo "-----------------------------------" >> $V_LOG
    sleep 3
    echo "$(netstat -lnpt | grep nginx)" >> $V_LOG
    echo "-----------------------------------" >> $V_LOG
}

while :
do
    V_NGINX_NUM=$(ps aux | grep nginx | grep -v listen_nginx.sh | grep -v listen_nginx.log | grep -v grep | wc -l)

    if [ $V_NGINX_NUM -lt 2 ]; then
        restart_nginx
        continue
    fi

    for PORT in $V_NGINX_PORT
    do
        V_PORT_NUM=$(netstat -lnpt | grep 80 | wc -l)
        if [ $V_PORT_NUM -lt 0 ]; then
            restart_nginx
            continue
        fi
     done
    sleep 10
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值