需求
有IBM MQ服务器,在做异地灾备切换时,为保证消息不丢失,需要在切换前检查QM中是否有消息。由于单台服务器上QM比较多,里面的QUEUE更多,若需要肉眼登录查看,甚是低效。因而有此需求。
解决方案
#!/bin/bash
#param1: mq_name #param2: qlocal GetQueueDepth() { if [ $# != 2 ] then echo "Usage : FUNCTION QMNAME QLOCAL" return 1 fi QMNAME="$1" QLOCAL="$2" AAA=`runmqsc $QMNAME <<! display qlocal($QLOCAL) end !` echo ${AAA#*CURDEPTH} | awk '{print $1}' | cut -d '(' -f2|cut -d ')' -f1 }
GetQueueContent() { if [ $# != 2 ] then echo "Usage : FUNCTION QMNAME QLOCAL" return 1 fi MSG_DETAIL_PATH=./MSG_DETAIL QMNAME="$1" QLOCAL="$2" if [ ! -d $MSG_DETAIL_PATH ] then mkdir $MSG_DETAIL_PATH fi MSG_FILE=$MSG_DETAIL_PATH/$QMNAME-$QLOCAL > $MSG_FILE
|