Press "Enter" to skip to content

傻妞sillyGirl经常崩溃 写一个简单的脚本来监控傻妞运行状态

meizuol 0

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分钟执行一次!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注