share facebook facebook2 twitter menu hatena pocket slack

2016.01.18 MON

RabbitMQ エクスポート/インポート

WRITTEN BY大住 孝之

RabbitMQでクラスタ化せずに vhost,exchange等を移行できます。

20151124004337

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

簡易バックアップにも使えそうです。

元記事はこちら

RabbitMQ エクスポート/インポート

大住 孝之

構築運用担当。 個性的な面々の中で無個性という個性を打ち出していこうと画策中。