İlk olarak,
pg_dump komutunun temel yapısına bakalım. Örneğin, belirli bir veritabanını yedeklemek için şu temel komut kullanılır:
1pg_dump -U kullanici_adi -F c -b -v -f /yedekler/backup_$(date +\%Y\%m\%d).dump veritabani_adi
Burada,
-U kullanıcı adı,
-F c özel format,
-b büyük nesneleri dahil etme,
-v detaylı çıktı ve
-f ile dosya yolu belirtilir. Yedekleme dosyasına tarih eklenerek versiyonlama sağlanır.
Bu komutu otomatik hale getirmek için, Linux'ta cron kullanımı ideal. Örneğin, günlük gece yarısı yedek almak için şu cron satırı kullanılır:
10 0 * * * /usr/bin/pg_dump -U kullanici_adi -F c -b -v -f /yedekler/backup_$(date +\%Y\%m\%d).dump veritabani_adi
Burada, cron’un zamanlama ifadesi ile günlük, haftalık veya aylık periyotlar belirlenebilir. Ayrıca, şifre güvenliği açısından
~/.pgpass dosyası kullanılarak şifre girmeden işlem yapılabilir.
Yedekleme sonrası otomatik temizlik veya sıkıştırma işlemleri de eklenebilir. Örneğin, eski yedekleri silmek veya gzip ile sıkıştırmak, disk alanını optimize etmek için faydalı olur.
Soru: Bu otomasyon sürecinde karşılaştığınız en önemli zorluklar nelerdir? Ayrıca, yedekleme ve geri yükleme testlerini düzenli yapıyor musunuz?