Php-worker重启脚本
跳转到导航
跳转到搜索
mq_res
#score-addScore-high 队列大于 500 重启phpwork
# php work and mq 机器不在同一台上
#有可能的话 另外两个mq 机器也要check 一下
[root@mq01 sh]# cat mq_res.sh
#!/bin/bash
#Author: linuxsa.org
docker ps | grep rabbitmqCluster01
#if [ $? -eq 0 ]
if [ $? -ne 0 ]
then
echo "No rabbitmq was found ,exit now"
exit 1
fi
qu=` docker exec -i rabbitmqCluster01 rabbitmqadmin --username=admin --password=886 list queues | grep score-addScore-high |awk '{print $4}'`
#if [ $qu -eq 0 ]
if [ $qu -gt 50 ]
#if [ $qu -gt 500 ]
#if $qu gt 500
then
echo " qu is 500,and then restart the score-high"
echo "*****"
function restartmq
{
salt 'prod-sns-es' cmd.run 'docker ps | grep php-worker'
if [ $? -ne 0 ]
then
echo "No phpworker was found ,exit now"
exit 1
fi
salt 'prod-sns-es' cmd.run 'docker exec -i docker-for-services_php-worker_1 supervisorctl restart production1.rabbitmq.recovery.addScoreHigh:production1.rabbitmq.recovery.addScoreHigh_00'
salt 'prod-sns-es' cmd.run 'docker exec -i docker-for-services_php-worker_1 supervisorctl restart production1.rabbitmq.recovery.addScoreHigh:production1.rabbitmq.recovery.addScoreHigh_01'
salt 'prod-sns-es' cmd.run 'docker exec -i docker-for-services_php-worker_1 supervisorctl restart production1.rabbitmq.recovery.addScoreHigh:production1.rabbitmq.recovery.addScoreHigh_02'
salt 'prod-sns-es' cmd.run 'docker exec -i docker-for-services_php-worker_1 supervisorctl restart production1.rabbitmq.recovery.addScoreHigh:production1.rabbitmq.recovery.addScoreHigh_03'
echo "mq has restart "
DATE_TIME=`date +"%Y-%m-%d %H:%M.%S"`
echo "${DATE_TIME}" >>/data/logs/timelist
}
restartmq;
fi
基础
-eq //等于 -ne //不等于 -gt //大于 (greater ) -lt //小于 (less) -ge //大于等于 -le //小于等于 命令的逻辑关系: 在linux 中 命令执行状态:0 为真,其他为假 逻辑与: && 第一个条件为假时,第二条件不用再判断,最终结果已经有; 第一个条件为真时,第二条件必须得判断; 逻辑或: || 逻辑非: !