4.7 KiB
4.7 KiB
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:
- "Yedek Yükle" butonuna tıklayın
- Yedek adı girin (opsiyonel)
- SQL dosyasını seçin
- "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
- Listeden bir yedek seçin (checkbox)
- Üstteki "Actions" dropdown menüsünden "Seçili Yedeği İndir" seçin
- "Go" butonuna tıklayın
Yöntem 3: Direkt URL
/admin/backup/databasebackup/{backup_id}/download/
3. 🔄 Yedek Geri Yükleme
- Listeden geri yüklenecek yedeği seçin
- "Actions" dropdown → "Seçili Yedeği Geri Yükle"
- "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)
- Silinecek yedekleri seçin
- "Actions" dropdown → "Yedek Dosyalarını Sil"
- Veritabanı kaydı kalır ama fiziksel dosya silinir
Tamamen Silme (Kayıt + Dosya)
- Silinecek yedekleri seçin
- "Actions" dropdown → "Seçili veritabanı yedekleri siliniyor" (varsayılan delete)
- Hem kayıt hem fiziksel dosya silinir (post_delete signal sayesinde)
📊 Yedek Durumları
| Durum | Renk | Açı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
- Admin panele giriş yap
- "Yeni Yedek Al" butonuna tıkla
- Yedeğin tamamlanmasını bekle (sayfa otomatik yenilenir)
- Gerekirse yedeği indir
Senaryo 2: Harici Yedek Yükleme (YENİ!)
- "Yedek Yükle" butonuna tıkla
- Bilgisayarından veya başka sunucudan aldığın SQL dosyasını seç
- Yedek adı ver (opsiyonel)
- Yükle
- Yüklenen yedek artık sistemde kullanılabilir
Senaryo 3: Veri Geri Yükleme
- Geri yüklenecek yedeği bul
- Önce o yedeği indir (güvenlik için)
- "Seçili Yedeği Geri Yükle" action'ını kullan
- Onay mesajını bekle
Senaryo 4: Eski Yedekleri Temizleme
- Silinecek yedekleri seç (çoklu seçim mümkün)
- İ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