RabbitMQ Mesajları yedekleme işlemi çok hassas konudur. Cluster a geçişlerde veya RabbitMQ sunucusunu taşımamız gerekirse bu tarz işlemler için almamız gereken aksiyonlar vardır.
RabbitMQ’nun verilerini export ve import etmek için iki ana yöntem vardır: Yönetim Arayüzü üzerinden veri düzeyinde yedekleme ve geri yükleme, veya Komut Satırı Arayüzü (CLI) kullanarak dosya düzeyinde yedekleme ve geri yükleme. İşte her iki yöntemin nasıl kullanılacağına dair genel bir açıklama:
Yönetim Arayüzü ile Veri Düzeyinde Export ve Import:
Veri Düzeyinde Yedekleme (Export):
- RabbitMQ yönetim arayüzüne erişin (varsayılan olarak http://sunucuipsi:15672).
- “Admin” bölümünden “Advanced” seçeneğine gidin.
- “Generate a new manifest” seçeneğine tıklayarak yedekleme dosyası oluşturun. Bu, RabbitMQ verilerini yedekleyecek bir yedekleme dosyası oluşturacaktır.
Veri Düzeyinde Geri Yükleme (Import):
- RabbitMQ yönetim arayüzüne erişin (varsayılan olarak http://sunucuipsi:15672).
- “Admin” bölümünden “Advanced” seçeneğine gidin.
- “Browse” düğmesini kullanarak önceden oluşturulan yedekleme dosyasını seçin ve “Upload” düğmesine tıklayarak geri yükleme işlemini başlatın.
Komut Satırı Arayüzü (CLI) ile Dosya Düzeyinde Export ve Import:
Dosya Düzeyinde Yedekleme (Export):
- RabbitMQ sunucusunun çalıştığı dizini belirleyin (varsayılan olarak
/var/lib/rabbitmq
gibi). - Bu dizinde bulunan tüm verileri düzenli aralıklarla yedekleyin. Bu, mesajları, değişimleri, kuyrukları ve diğer verileri içerir.
Dosya Düzeyinde Geri Yükleme (Import):
- Önceden yedeklenen dosyaları doğru dizine yerleştirin.
- RabbitMQ sunucusunu durdurun.
- Yedeklenen dosyaları geri yüklemek için RabbitMQ sunucusunu tekrar başlatın.
Bunların haricinde farklı bir yöntem daha bulunmaktadır. Bunun için sunucuya erişiyoruz. RabbitMQ admin i indiriyoruz.
curl -o rabbitmqadmin http://127.0.0.1:15672/cli/rabbitmqadmin
İndirdiğimiz rabbitmqadmin e yetkilendirme veriyoruz.
chmod +x rabbitmqadmin
Yetkilendirme işlemleri tamamlandıktan sonra artık export edilmesi gereken sunucuda aşağıdaki komutu çalıştırarak export işlemlerini tamamlıyoruz.
./rabbitmqadmin --username admin --password password export config.json
Export edilen dosyamızı aynı sunucu veya farklı sunucuda import etmek istersek. Aşağıdaki kod çıktısı ile import işlemini tamamlayabiliriz.
./rabbitmqadmin --username admin --password password import config.json