在巡检一个客户时发现,客户一台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)
测试脚本效果
