#!/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
Linux 生产环境实时监控Nginx脚本
最新推荐文章于 2023-03-06 10:27:13 发布