first commit
This commit is contained in:
145
BACKUP_SYSTEM_GUIDE.md
Normal file
145
BACKUP_SYSTEM_GUIDE.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# 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 | 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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user