Yedekleme
Yedeklemenin Önemi
Yedekleme işlemi, sistem güvenliği ve veri bütünlüğü açısından hayati bir rol oynar:
Sistem arızası, donanım hatası veya yanlışlıkla yapılan silme işlemlerinde verilerinizi korur.
Olası bir veri kaybı durumunda, yedekten hızlıca geri yükleme yaparak sisteminizi kısa sürede çalışır hale getirebilirsiniz.
Farklı zamanlarda alınan yedekler sayesinde, sisteminizin farklı versiyonlarını saklayabilir ve gerektiğinde geri dönebilirsiniz.
Kritik sistemlerde iş sürekliliğini sağlar ve olası kesintilerin etkisini minimize eder.
MongoDB Yedekleme İşlemi
Apinizer, Replica Set MongoDB veritabanı ile çalışmaktadır. MongoDB sunucusu üzerinden backup alırken bu duruma dikkat edilmesi gerekmektedir.
Yedekleme Komutu
Aşağıdaki komut kullanılarak MongoDB veritabanı yedeklenebilir:
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
Parametreler:
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
--host | string | Evet | Primary MongoDB sunucusunun IP adresi |
--port | number | Evet | MongoDB port numarası |
--authenticationDatabase | string | Hayır | Kimlik doğrulama veritabanı (varsayılan: admin) |
--username | string | Evet | MongoDB kullanıcı adı |
--password | string | Evet | MongoDB şifresi |
--db | string | Evet | Yedeklenecek veritabanı adı |
--gzip | boolean | Hayır | Yedek dosyasını sıkıştırır |
--archive | string | Evet | Yedek dosyasının kaydedileceği yol ve dosya adı |
Yedekleme Dosya İsimlendirmesi
Yedekleme dosya isimlendirmesinde yedeğin alındığı tarih ve Apinizer sürüm bilgisinin kullanılması önerilir.
Önerilen Dosya Adı Formatı:
apinizer-backup--v<CURRENT_VERSION>--<BACKUP_DATE>--01.archive
Bu format sayesinde:
- 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
Koleksiyonları Hariç Tutma
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_event
Ancak bu işlem verinin yedeksizliğine yol açacağı için önerilmemektedir.
Yedekleme En İyi Uygulamaları
Yedeklemeleri düzenli aralıklarla (günlük, haftalık) alın
Yedekleme işlemlerini otomatikleştirin (cron job, scheduled task)
Yedekleri farklı fiziksel konumlarda saklayın
Yedeklerin düzenli olarak geri yükleme testlerini yapın
Yedek dosyalarında mutlaka sürüm bilgisi bulundurun
Yedek dosyalarını güvenli bir şekilde saklayın ve erişim kontrolü uygulayın
Detaylı Bilgi
Detaylı bilgi için MongoDB dökümantasyonunu inceleyebilirsiniz.