Как создать бэкап «схемы» RabbitMQ

Иногда необходимо перенести RabbitMQ на другой сервер, при этом сохранять все сообщения не надо. В этом случае, конечно, можно собрать кластер и таким образом перейти на работу с нового сервера, но это занимает много времени. Гораздо проще сделать «бэкап схемы» и восстановить его на новом сервере:


1. Необходимо активировать на rabbitmq расширение rabbitmqadmin.
2. Создадим пользователя admin с необходимыми правами:
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator management
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

3. Импортируем vhosts, users, permissions, queues, exchanges, bindings, parameters, policies в JSON:
curl -s -u admin:admin http://localhost:15672/api/definitions/ > ~/rabbitmq/rabbitmq_`date +%Y_%m_%d`.json

5. Копируем json-файл на новый сервер.
6. выполняем пункт 2 на новом сервере.
7. Импортируем данные из json-файла в новый RabbitMQ:
curl -XPOST -H "Content-Type: application/json" -u admin:admin http://localhost:15672/api/definitions/ -d ./rabbitmq_2018-02-01.json

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий