Files
dj52/BACKUP_SYSTEM_GUIDE.md
Beyhan Oğur ec28a2024d first commit
2026-04-26 22:22:29 +03:00

4.7 KiB
Raw Permalink Blame History

Veritabanı Yedekleme Sistemi - Kullanım Kılavuzu

🎯 Özellikler

1. 🔄 Yeni Yedek Al

Admin panel listesinde üstte bulunan "Yeni Yedek Al" butonuna tıklayarak anında yeni bir veritabanı yedeği oluşturabilirsiniz.

Konum: /admin/backup/databasebackup/

Özellikler:

  • Tek tıkla yedek oluşturma
  • Otomatik dosya adlandırma (ör: backup_server_dj_20251224_152152.sql)
  • Gerçek zamanlı durum güncellemesi
  • Başarı/hata mesajları

2. 📤 Yedek Yükle (YENİ!)

Elinizdeki SQL yedek dosyasını sisteme yükleyebilirsiniz.

Konum: /admin/backup/databasebackup/ - Mavi "Yedek Yükle" butonu

Özellikler:

  • Bilgisayarınızdan SQL dosyası yükleme
  • Maksimum 500MB dosya boyutu
  • Otomatik dosya validasyonu (.sql kontrolü)
  • Timestamp ile dosya adlandırma
  • Yüklenen dosyalar hemen kullanılabilir (geri yükleme, indirme)

Kullanım:

  1. "Yedek Yükle" butonuna tıklayın
  2. Yedek adı girin (opsiyonel)
  3. SQL dosyasını seçin
  4. "Yükle" butonuna tıklayın

3. 📥 Yedek İndirme

Yöntem 1: İndir Butonu (Önerilen)

Liste görünümünde her yedeğin yanında yeşil "İndir" butonu vardır.

  • Sadece tamamlanmış yedekler için görünür
  • Tek tıkla indirme

Yöntem 2: Admin Action

  1. Listeden bir yedek seçin (checkbox)
  2. Üstteki "Actions" dropdown menüsünden "Seçili Yedeği İndir" seçin
  3. "Go" butonuna tıklayın

Yöntem 3: Direkt URL

/admin/backup/databasebackup/{backup_id}/download/

3. 🔄 Yedek Geri Yükleme

  1. Listeden geri yüklenecek yedeği seçin
  2. "Actions" dropdown → "Seçili Yedeği Geri Yükle"
  3. "Go" butonuna tıklayın

⚠️ Uyarı: Geri yükleme işlemi mevcut veritabanını değiştirecektir. Dikkatli olun!

4. 🗑️ Yedek Silme

Dosyaları Silme (Kayıtları Koruma)

  1. Silinecek yedekleri seçin
  2. "Actions" dropdown → "Yedek Dosyalarını Sil"
  3. Veritabanı kaydı kalır ama fiziksel dosya silinir

Tamamen Silme (Kayıt + Dosya)

  1. Silinecek yedekleri seçin
  2. "Actions" dropdown → "Seçili veritabanı yedekleri siliniyor" (varsayılan delete)
  3. Hem kayıt hem fiziksel dosya silinir (post_delete signal sayesinde)

📊 Yedek Durumları

Durum Renk ıklama
🟠 Bekliyor Turuncu Yedek oluşturulmayı bekliyor
🔵 İşleniyor Mavi Yedek şu an oluşturuluyor
🟢 Tamamlandı Yeşil Yedek başarıyla oluşturuldu
🔴 Başarısız Kırmızı Yedek oluşturulurken hata oluştu

🔧 Teknik Detaylar

Yedek Dosyaları

  • Konum: /backups/ klasörü
  • Format: SQL dump dosyası
  • Adlandırma: backup_server_dj_YYYYMMDD_HHMMSS.sql

Otomatik Temizleme

Django'nun post_delete sinyali kullanılarak, veritabanı kaydı silindiğinde ilgili SQL dosyası da otomatik olarak silinir.

Güvenlik

  • Sadece staff/admin kullanıcıları erişebilir
  • Her yedek, oluşturan kullanıcı bilgisi ile birlikte kaydedilir
  • Dosya boyutları otomatik hesaplanır

🚀 Kullanım Senaryoları

Senaryo 1: Rutin Yedek Alma

  1. Admin panele giriş yap
  2. "Yeni Yedek Al" butonuna tıkla
  3. Yedeğin tamamlanmasını bekle (sayfa otomatik yenilenir)
  4. Gerekirse yedeği indir

Senaryo 2: Harici Yedek Yükleme (YENİ!)

  1. "Yedek Yükle" butonuna tıkla
  2. Bilgisayarından veya başka sunucudan aldığın SQL dosyasını seç
  3. Yedek adı ver (opsiyonel)
  4. Yükle
  5. Yüklenen yedek artık sistemde kullanılabilir

Senaryo 3: Veri Geri Yükleme

  1. Geri yüklenecek yedeği bul
  2. Önce o yedeği indir (güvenlik için)
  3. "Seçili Yedeği Geri Yükle" action'ını kullan
  4. Onay mesajını bekle

Senaryo 4: Eski Yedekleri Temizleme

  1. Silinecek yedekleri seç (çoklu seçim mümkün)
  2. İki seçenek:
    • Sadece dosyaları sil (kayıt kalsın) → "Yedek Dosyalarını Sil"
    • Her şeyi sil → Varsayılan delete action

📝 Notlar

  • Yedekler PostgreSQL için optimize edilmiştir
  • Büyük veritabanları için yedekleme işlemi zaman alabilir
  • Yedek dosyaları düzenli olarak kontrol edilmelidir
  • Production ortamında yedekleri farklı bir sunucuya da kopyalamanız önerilir

🆘 Sorun Giderme

Yedek Oluşturulamıyor

  • PostgreSQL bağlantı ayarlarını kontrol edin
  • backups/ klasörünün yazma izinlerini kontrol edin
  • Error mesajına bakın (Yedek detayında gösterilir)

İndirme Çalışmıyor

  • Dosyanın hala diskte olduğundan emin olun
  • Yedeğin durumunun "Tamamlandı" olduğunu kontrol edin
  • Tarayıcı konsol hatalarına bakın

Geri Yükleme Başarısız

  • Yedek dosyasının bozuk olmadığından emin olun
  • PostgreSQL kullanıcısının yeterli yetkileri olduğunu kontrol edin
  • Veritabanı bağlantısının aktif olduğunu doğrulayın