RabbitMQでクラスタ化せずに vhost,exchange等を移行できます。
RabbitMQのAPIを介して行えます。
尚、administrator権限が必要になるので、接続ユーザに予め権限付与しておきます。
# ユーザ追加 rabbitmqctl add_user "ユーザ名" "パスワード" # administrator付与 rabbitmqctl set_user_tags "ユーザ名" administrator
エクスポート
- definitions.jsonに出力
_src_user= _src_pass= _src_ip= _src_port= # Export curl -s -S -u ${_src_user}:${_src_pass} http://${_src_ip}:${_src_port}/api/definitions > definitions.json
インポート
- definitions.jsonから入力
_dst_user= _dst_pass= _dst_ip= _dst_port= # Import curl -s -S -X POST -u ${_dst_user}:${_dst_pass} -H "content-type:application/json" -d "@definitions.json" http://${_dst_ip}:${_dst_port}/api/definitions
簡易バックアップにも使えそうです。