Snapshot ve Yedekleme Stratejileri

Snapshot ve Yedekleme Stratejileri

Sunucu snapshot ve yedekleme stratejileri rehberi. 3-2-1 kuralı, otomatik yedekleme, felaket kurtarma planı.

Sunucunuzun diski bozuldu, ransomware saldırısına uğradınız veya yanlışlıkla production veritabanını sildiniz - bu senaryolardan herhangi biri gerçekleştiğinde elinizde güncel bir yedek yoksa, veri kaybı kaçınılmazdır. Bulut sunucu yedekleme stratejisi, "yedek alıyor muyuz?" sorusunun ötesinde "ne kadar hızlı kurtarabiliriz?" sorusuna yanıt verir. Bu rehberde snapshot ve yedekleme farkını, 3-2-1 kuralını, RPO/RTO hesaplamayı ve otomatik yedekleme kurulumunu ele alıyoruz.

Yedekleme Neden Kritik?

Veri kaybının en yaygın nedenleri: donanım arızası, insan hatası (yanlış komut, yanlış dosya silme), yazılım hataları, siber saldırılar (ransomware) ve doğal afetlerdir. Yedekleme olmadan bu senaryoların herhangi birinde kurtarma şansınız sıfıra yakındır.

⚠️ Önemli Uyarı: "Sağlayıcım yedek alıyordur" varsayımı tehlikelidir. Çoğu bulut sağlayıcı varsayılan olarak otomatik yedekleme yapmaz veya yalnızca sınırlı snapshot sunar. Yedekleme sorumluluğu her zaman sizindir.

RPO ve RTO: Kurtarma Hedeflerinizi Belirleyin

Yedekleme stratejisi oluşturmadan önce iki kritik metriği belirlemeniz gerekir:

Metrik Tanım Örnek
RPO (Recovery Point Objective) Kabul edilebilir maksimum veri kaybı süresi RPO = 1 saat → Son 1 saatlik veri kaybedilebilir
RTO (Recovery Time Objective) Sistemin ne kadar sürede tekrar çalışır hale gelmesi gerektiği RTO = 30 dk → 30 dakika içinde servis geri gelmeli

Bir e-ticaret sitesi için RPO 5 dakika ve RTO 15 dakika olabilirken, kişisel bir blog için RPO 24 saat ve RTO birkaç saat kabul edilebilir. Bu değerler yedekleme sıklığınızı ve yönteminizi belirler.

Snapshot ve Yedekleme Arasındaki Fark

Özellik Snapshot Yedekleme (Backup)
Depolama Konumu Aynı depolama altyapısı Farklı lokasyon / medya
Hız Saniyeler içinde oluşturulur Veri boyutuna bağlı (dakikalar-saatler)
Kullanım Amacı Hızlı geri dönüş (güncelleme öncesi) Felaket kurtarma (disaster recovery)
Disk Arızası Koruması Hayır (aynı diskte) Evet (farklı lokasyon)
Saklama Süresi Kısa vadeli (saatler-günler) Uzun vadeli (haftalar-aylar)

💡 İpucu: Snapshot yedeklemenin yerini tutmaz. Snapshot, aynı depolama altyapısında tutulduğu için disk arızasında snapshot da kaybolur. İkisini birlikte kullanın: snapshot hızlı geri dönüş için, yedekleme felaket kurtarma için.

3-2-1 Yedekleme Kuralı

Endüstri standardı olan 3-2-1 kuralı, modern altyapılarda 3-2-1-1-0 olarak genişletilmiştir:

  • 3 kopya Verinin orijinali + 2 yedek kopya. Tek yedek yeterli değildir çünkü yedek de bozulabilir.
  • 2 farklı medya Örneğin: sunucu diski + S3 uyumlu object storage. Aynı disk türünde iki kopya, aynı arıza moduna açıktır.
  • 1 offsite (uzak lokasyon) En az bir kopya farklı veri merkezinde veya coğrafi bölgede olmalı. Aynı veri merkezindeki yangın/sel her iki kopyayı da yok edebilir.
  • 1 immutable (değiştirilemez) kopya Ransomware saldırılarına karşı en az bir kopya yazma korumalı (immutable) olmalı. S3 Object Lock veya WORM depolama bu amaçla kullanılır.
  • 0 hata (doğrulanmış geri yükleme) Düzenli olarak yedekten geri yükleme testi yapılmalı. Test edilmemiş yedek, yedek sayılmaz.

Yedekleme Otomasyonu Kurulumu

rsync ile Artımlı Yedekleme

rsync, yalnızca değişen dosyaları aktardığı için artımlı yedekleme için idealdir. SSH üzerinden uzak sunucuya güvenli yedekleme yapabilirsiniz.

backup.sh - otomatik yedekleme scripti
#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_DIR="/backup"
REMOTE="backup-user@backup-server:/backups/myserver"

# Veritabanı yedeği
mysqldump --all-databases --single-transaction \
  --routines --triggers | gzip > "${BACKUP_DIR}/db-${DATE}.sql.gz"

# Dosya yedeği (artımlı - yalnızca değişenler)
rsync -avz --delete \
  --exclude='node_modules' \
  --exclude='.cache' \
  /var/www/ "${BACKUP_DIR}/files/"

# Uzak sunucuya gönder (offsite kopya)
rsync -avz -e "ssh -p 2222" \
  "${BACKUP_DIR}/" "${REMOTE}/"

# 30 günden eski yerel yedekleri temizle
find "${BACKUP_DIR}" -name "db-*.sql.gz" -mtime +30 -delete

echo "[$(date)] Yedekleme tamamlandı" >> /var/log/backup.log
terminal - cron ile zamanlama
# Her gece 03:00'te yedekleme çalıştır
crontab -e
0 3 * * * /opt/scripts/backup.sh >> /var/log/backup-cron.log 2>&1

Veritabanı yedekleme otomasyonu hakkında daha detaylı bilgi için MySQL resmi mysqldump dokümantasyonunu inceleyebilirsiniz.

Yedekleme Testi ve Doğrulama

Test edilmemiş yedek, yedek sayılmaz. Ayda en az bir kez yedekten geri yükleme testi yapın:

terminal - yedek doğrulama
# 1. Veritabanı yedeğini test sunucusunda geri yükle
gunzip -c db-2026-03-20.sql.gz | mysql -u root -p test_restore_db

# 2. Tablo sayısını ve kayıt sayısını doğrula
mysql -u root -p -e "SELECT COUNT(*) FROM test_restore_db.users;"

# 3. Dosya bütünlüğünü kontrol et
find /backup/files/ -type f | wc -l
find /var/www/ -type f | wc -l

Yedekleme stratejinizi Hosted Cloud bulut sunucuları üzerinde kolayca uygulayabilirsiniz. Snapshot özelliği ile kritik değişiklikler öncesi anlık görüntü alabilir, kaynak izleme rehberimizle yedekleme süreçlerinin performans etkisini izleyebilirsiniz.

Sıkça Sorulan Sorular

Snapshot yedekleme yerine geçer mi?

Hayır. Snapshot aynı depolama altyapısında tutulur; disk arızasında snapshot da kaybolur. Snapshot hızlı geri dönüş için, yedekleme felaket kurtarma için kullanılır. İkisi birbirini tamamlar.

Ne sıklıkla yedek almalıyım?

RPO değerinize bağlıdır. E-ticaret siteleri için saatlik veritabanı yedeği + günlük tam yedek önerilir. Statik siteler için günlük yedek yeterlidir. Kritik sistemlerde sürekli replikasyon düşünülmelidir.

Yedekleme sırasında sunucu performansı düşer mi?

Evet, özellikle büyük veritabanı dump'ları disk I/O ve CPU kullanır. Bu nedenle yedeklemeyi düşük trafik saatlerine (gece 02:00-05:00) zamanlayın. MySQL için --single-transaction parametresi tablo kilitlemeden yedek alır.

Yedekleri ne kadar süre saklamalıyım?

Önerilen saklama politikası: günlük yedekler 7 gün, haftalık yedekler 4 hafta, aylık yedekler 12 ay. Yasal gereksinimlerinize göre bu süreleri uzatmanız gerekebilir.

Sonuç

Yedekleme stratejisi, RPO ve RTO hedeflerinizle başlar. 3-2-1-1-0 kuralını uygulayın: farklı medyada, farklı lokasyonda, değiştirilemez ve test edilmiş yedekler tutun. Snapshot'ı hızlı geri dönüş için, rsync/mysqldump tabanlı yedeklemeyi felaket kurtarma için kullanın. En önemlisi: düzenli geri yükleme testi yapın.

Verilerinizi Güvende Tutun

Hosted Cloud bulut sunucularında anlık snapshot, otomatik yedekleme ve NVMe SSD depolama ile verileriniz her zaman güvende.

Bulut Sunucu Planlarını İncele →
M

Merve Arslan

WordPress & Hosting Uzmanı

WordPress performans optimizasyonu, hosting seçimi ve e-ticaret altyapıları üzerine rehber içerikler hazırlamaktadır.

Yorumlar yakında