最近测试的时候发现测试服务器的binlog常驻脚本总是莫名其妙的挂掉,很难受,于是乎,花了一个小时研究了第一个shell脚本(此时心情应该是激动的)。
思路:1.先查询目标脚本是否存活
2.不存活就重启
3.最后死循环一次
#/bin/bash
# 死循环
while true
do
# 获取目标的信息
binlog=`supervisorctl status binlog`
echo "检测 ${binlog}"
test="RUNNING"
# 通过grep的方式匹配结果,RUNNING表示存活
r=$(echo $binlog | grep "${test}")
echo "匹配结果 ${r}"
# 如果没有匹配到,则重启
if [[ "$r" == "" ]]
then
echo "不包含,重启"
supervisorctl start binlog
# 等待5秒钟
sleep 5
else
echo "包含"
# 整体等待一分钟
echo "等待60秒"
sleep 60
fi
done
学习最大的乐趣在于分享