Ana içeriğe atla

Yedekleme (Backup)

Apinizer, Replica Set MongoDB veritabanı ile çalışmaktadır. MongoDB sunucusu üzerinden backup alırken bu duruma dikkat edilmesi gerekmektedir.
mongodump
mongodump \
  --host=<PRIMARY_MONGODB_IP> \
  --port=<PRIMARY_MONGODB_PORT> \
  --authenticationDatabase admin \
  --username apinizer \
  --password <MONGO_PASSWORD> \
  --db <DATABASE_NAME> \
  --gzip \
  --archive=/home/apinizer/apinizer-backup--v<CURRENT_VERSION>--<BACKUP_DATE>--01.archive
Yedekleme dosya isimlendirmesinde yedeğin alındığı tarih ve Apinizer sürüm bilgisinin kullanılması önerilir. Bu sayede:
  • Hangi yedeğin hangi sistem versiyonuna ait olduğu kolayca anlaşılır
  • Geri yükleme işlemlerinde versiyon uyumsuzlukları önlenir
  • Arşivlenen yedeklerin yönetimi kolaylaşır
Eğer uygulama logları ya da audit logları gibi yüksek yer kaplayabilecek kısımlar dahil edilmek istenmezse, şu komutla ayrılabilirler:--excludeCollection apinizer_log --excludeCollection audit_eventAncak bu işlem verinin yedeksizliğine yol açacağı için önerilmemektedir.
Detaylı bilgi için MongoDB dökümantasyonunu inceleyebilirsiniz.

Geri Yükleme (Restore)

Apinizer konfigürasyon verilerini yedekten geri yüklemek için, oluşturduğunuz yedek dosyaları kullanılır. Bu işlem Linux shell üzerinde mongorestore komutuyla yapılır.

Temel Geri Yükleme Komutu

Aşağıdaki komut kullanılarak daha önce alınmış olan yedek dosyası geri yüklenebilir:
mongorestore
mongorestore \
  --drop \
  --host=<PRIMARY_MONGODB_IP> \
  --port=<PRIMARY_MONGODB_PORT> \
  --username=apinizer \
  --authenticationDatabase=admin \
  --gzip \
  --archive=/home/apinizer/apinizer-backup-v<CURRENT_VERSION>--<BACKUP_DATE>--01.archive
--drop parametresi kullanıldığında mevcut koleksiyonlar silinir ve yeniden oluşturulur. Bu işlem geri alınamaz, bu nedenle dikkatli kullanılmalıdır.

Replica Set’e Geri Yükleme

Primary MongoDB sunucusunu hedef göstermeden tüm replica set’e geri yükleme yapan örnek komut:
mongorestore
mongorestore \
  --drop \
  --host apinizer-replicaset/10.0.0.1:25080,10.0.0.2:25080,10.0.0.3:25080 \
  --username apinizer \
  --password "123456" \
  --gzip \
  --archive=/home/apinizer/apinizer-backup-v2024092--20241231--01.archive

Tek Koleksiyon Geri Yükleme

Tüm veritabanı değil sadece tek bir koleksiyon yedeklenmişse, bunu geri yüklemek için:
mongorestore
mongorestore \
  --drop \
  --host 10.0.0.1 \
  --port 25080 \
  --authenticationDatabase "admin" \
  -d apinizerdb \
  -u apinizer \
  -p "123456" \
  --collection=api_proxy \
  /home/apinizer/apinizerdb/api_proxy.bson

Detaylı Bilgi

Detaylı bilgi için MongoDB dökümantasyonunu inceleyebilirsiniz.