server服务器检查服务状态脚本

在巡检一个客户时发现,客户一台server服务器存储空间没有变化,检查data目录下没有数据。发现recv-server服务没有启动,看客户定时任务有个检查进程状态的脚本,一分钟执行一次,防止服务停了不知道。
我就在这个脚本加了检查recv-server服务的部分。其他服务也可以这样做。
脚本内容:

[root@asserver02 data]# cat /usr/local/app/shell/service_check.sh
#!/bin/sh
#FileName:ftpput.sh
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20

if test $( pgrep -f redis-server | wc -l ) -eq 0 ;then
systemctl  start redis
fi
#recv-server restart (2021-02-05)
recv_status=$( systemctl status recv-server | grep “Active” | awk ‘{print $2}’ )
if [ $recv_status != “active” ];
then
systemctl  start recv-server
fi

if test $( pgrep -f cmd | wc -l ) -eq 0 ;then
systemctl  start cmdserver
fi

if test $( pgrep -f filebeat | wc -l ) -eq 0 ;then
systemctl  start filebeat
fi

datacount=$(pgrep -f dataengine.jar | wc -l)
if test $datacount -eq 0 ;then
systemctl  start dataengine
systemctl  start dataloopclean
elif test $datacount -eq 1 ;then
if test $( pgrep -f com.sinobigdata.util.LoopToClean | wc -l ) -eq 0 ;then
systemctl  start dataloopclean
else
systemctl  start dataengine
fi
fi

exit 0

脚本测试截图:

image-20210205143651613-1612666667960.png (33.39 KB, 下载次数: 3)

添加部分

添加部分

image-20210205143237452.png (63.19 KB, 下载次数: 0)

测试脚本效果

测试脚本效果