2017-05-05 53 views
2

我已经有了几个虚拟主机的rabbitmq,每个虚拟主机都有几个队列。 如何使用rabbitmqctl列出所有虚拟主机中的所有队列? 我试过了:所有虚拟主机上的rabbitmq列表队列

rabbitmqctl list_queues -p /* 
rabbitmqctl list_queues -p * 
rabbitmqctl list_queues -p/
rabbitmqctl list_queues -p ./* 

任何想法?

回答

4

尝试这样的:

#!/bin/bash 
IFS=$'\n' 
ordered_vhosts=$(./rabbitmqctl list_vhosts -q | xargs -n1 | sort -u) 

for V in $ordered_vhosts; do 
    echo "*****Vhost $V Total queues " $(./rabbitmqctl list_queues -q -p $V | wc -l) 
    for Q in $(./rabbitmqctl list_queues -q name messages -p $V | xargs -n2 | sort -u); do 
     echo "Vhost $V queue-name total-messages $Q" 
    done 
done 
+0

谢谢你,它的工作原理! –

+0

经过一些修改,这个作品非常漂亮!谢谢! –

相关问题