sillyGirl是一个很好用的机器人程序,但是经常崩溃!
导致经常三更半夜的无法正常提供服务!
一直懒得折腾,今天自己需要使用功能发现又崩溃了!
写一个简单的脚本来监控sillyGirl的服务状态!
新建一个sh文件:check.sh
内容如下:
#!/bin/bash
#检测网页返回状态码,把127.0.0.1:8080改成你的实际网址即可。
NUM=$(curl -o /dev/null --retry 3 --retry-max-time 30 -s -w %{http_code} http://127.0.0.1:8080/admin/login)
#检测结果如果不等于200
if [ $NUM -ne 200 ]
then
echo "检测结果:$NUM状态!状态异常,正在自动重启!"
ps -ef | grep sillyGirl | grep -v grep | awk '{print $2}' | xargs kill -9
cd /usr/local/sillyGirl/&&./sillyGirl -d
else
#curl -o /dev/null --retry 3 --retry-max-time 30 -s -w %{http_code} http://sg.x1.s.feiji.work:8086/admin/login
echo "检测结果:$NUM状态!"
echo "进程列表:"
ps -ef | grep sillyGirl | grep -v grep
fi
输出结果:
root@x86-1:~/jiankong# bash server.sh
检测结果:200状态!
进程列表:
root 2471296 1 1 08:44 pts/0 00:00:13 ./sillyGirl
表示运行正常!
输出:
#bash mail.sh
2022/10/23 08:41:32.849 [I] 程序以静默形式运行
表示失联,已经自动重启!
如果出现一下错误提示,忽略即可!
Usage:
kill [options] <pid> [...]
Options:
<pid> [...] send signal to every <pid> listed
-<signal>, -s, --signal <signal>
specify the <signal> to be sent
-l, --list=[<signal>] list all signal names, or convert one to a name
-L, --table list all signal names in a nice table
-h, --help display this help and exit
-V, --version output version information and exit
添加计划任务便于执行:
crontab -l
*/60 * * * * /bin/bash /root/check.sh >> /dev/null 2>&1
注意修改成你脚本的存储路径! 我这儿是定时60分钟执行一次!