frp客户端运行状态监控
#!/bin/bash
# 用于检测frp客户端进程是否存在(正常数值为2)
frpc=`ps -aux | grep -w frpc | wc -l`
# 显示时间
time=`timedatectl | grep "Local time" | awk '{print($4,$5)}'`
# 判断检测frp客户端进程是否存在,小于或者等于1就有问题
if [ $frpc -le 1 ];then
# 将错误日志输出到文件“/var/log/frp/frpc_status.log”中。
echo -e "\033[31m[$time] [Errot] frpc客户端丢失,重启frpc客户端!\033[0m" >> /var/log/frp/frpc_status.log
# 将错误日志输出到文件“/var/log/frp/frpc_error.log”中。
echo -e "\033[31m[$time] [Errot] frpc客户端丢失,重启frpc客户端!\033[0m" >> /var/log/frp/frpc_error.log
# 重启frp客户端进程
nohup /opt/frp_client/frpc -c /opt/frp_client/frpc.ini 1>>/var/log/frp/frpc.log 2>>/var/log/frp/frpc.log &
# 检测frp客户端是否重启成功
frpc=`ps -aux | grep -w frpc | wc -l`
if [ $frpc -le 1 ];then
# 重启失败
echo -e "\033[31m[$time] [Eroor] 重启失败\033[0m" >> /var/log/frp/frpc_error.log
else
echo -e "\033[32m[$time] [INFO] 重启成功\033[0m" >> /var/log/frp/frpc_error.log
fi
else
# 客户端存活时输出
echo "[$time] [INFO] frpc客户端存活" > /var/log/frp/frpc_status.log
fi