检测nginx 端口启用 关闭 keepalived
检测 nginx 进程;然后关闭 keepalived ,关闭漂移IP ;
cat nginx_pid.sh
#!/bin/bash while true do if [ $(netstat -tlnp|grep nginx|wc -l) -ne 1 ] then systemctl stop keepalived fi sleep 2 done
这种只是检测关闭;切换还是需要手动到备机启动;
这个 grep 是判定 nginx 名称的进程 不是 有1 个的;就停止;
所以如果 同时开启 80 和 443 就会检测是 2 。
可以换成 Port 端口,这个比较唯一。
netstat -tlnp|grep 443|wc -l
这个检测就唯一存在或者不存在。