Ana içeriğe geç

Veritabanı Yedekleri

FeedbackPulse, doğrudan yönetim panelinden veritabanı yedekleri oluşturmanıza, indirmenize ve yönetmenize olanak tanıyan yerleşik bir yedekleme sistemi (Admin → Yedekler) içerir.


🔧 Nasıl Çalışır

FeedbackPulse, hosting ortamınızı akıllıca algılar ve en iyi yedekleme yöntemini seçer:

OrtamYöntemHız
VPS/Dedicated (exec mevcut)mysqldump komutu → gzipHızlı
Windows (Laragon/XAMPP)mysqldump → PHP gzencodeHızlı
Paylaşımlı hosting (exec devre dışı)Saf PHP/PDO dump → gzencodeOrta

exec() devre dışıysa veya mysqldump bulunamazsa sistem otomatik olarak PHP tabanlı yönteme geçer. Bu, her hosting türünde yedeklemenin çalışacağı anlamına gelir; kabuk komutlarının kısıtlandığı paylaşımlı hosting dahil.


📋 Özellikler

Yedek Oluşturma

Yeni bir veritabanı dökümü oluşturmak için Yedek Oluştur düğmesine tıklayın. Dosya, zaman damgalı bir dosya adıyla storage/app/backups/ dizinine kaydedilir.

Yedek İndirme

Herhangi bir yedeğin yanındaki indirme simgesine tıklayarak .sql.gz dosyasını indirin.

Yedek Silme

Bir yedek dosyasını kaldırmak için silme simgesine tıklayın. Bu işlem yalnızca yedek dosyasını siler — canlı veritabanınız etkilenmez.

Yedek Listesi

Tüm mevcut yedekleri şunlarla birlikte gösterir:

  • Dosya adı
  • Dosya boyutu
  • Oluşturma tarihi
  • İndirme/Silme eylemleri

🔐 Güvenlik

  • Yedekler storage/app/backups/ içinde saklanır (herkese açık değildir)
  • Veritabanı şifreleri, kullanımdan sonra silinen geçici .my.cnf dosyaları aracılığıyla işlenir
  • Yedekleme özelliğine yalnızca süper yöneticiler erişebilir

💡 En İyi Uygulamalar

  1. Düzenli yedek alın — güncellemelerden, büyük değişikliklerden önce veya periyodik olarak
  2. Yedekleri indirin — yalnızca sunucuda tutmayın
  3. Geri yüklemeyi test edin — yedeklerin düzenli aralıklarla geri yüklenip yüklenmediğini doğrulayın
  4. Otomatikleştirin — gerekirse otomatik günlük yedekleme için bir cron görevi kurun

Komut Satırı ile Manuel Yedekleme

cd /var/www/feedbackpulse-saas
mysqldump -u feedbackpulse -p feedbackpulse | gzip > storage/app/backups/manual_$(date +%Y%m%d).sql.gz

Yedeği Geri Yükleme

gunzip < storage/app/backups/backup_file.sql.gz | mysql -u feedbackpulse -p feedbackpulse

⏭️ Sonraki Adımlar