2017-05-05 57 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

經過一些修改,這個作品非常漂亮!謝謝! –

相關問題