Web Sitesi Yedekleme Stratejisi: 3-2-1 Kuralı ve Otomatik Yedekleme

Web Sitesi Yedekleme Stratejisi: 3-2-1 Kuralı ve Otomatik Yedekleme

Web sitesi yedekleme, çoğu site sahibinin başına bir felaket gelene kadar erteleyip durduğu iştir. Oysa diskler arızalanır, eklentiler güncellemede çöker, siteler saldırıya uğrar ve bazen tek bir yanlış komut yılların emeğini silebilir. İyi haber şu: Sağlam bir yedekleme stratejisi kurmak ne pahalıdır ne de karmaşık. Bu rehberde sektörün altın standardı kabul edilen 3-2-1 kuralını ve yedeklerinizi tamamen otomatikleştirmenin yollarını adım adım anlatacağız.

3-2-1 Kuralı Nedir?

3-2-1 kuralı, verinizin her koşulda kurtarılabilir kalması için üç basit şart koyar:

  • 3 kopya: Verinizin biri canlı (sunucudaki site), ikisi yedek olmak üzere en az üç kopyası bulunmalı.
  • 2 farklı ortam: Yedekler en az iki farklı depolama ortamında tutulmalı (örneğin sunucu diski + bulut depolama).
  • 1 kopya site dışında (offsite): En az bir yedek, canlı sunucudan fiziksel ve mantıksal olarak ayrı bir yerde durmalı.
Kuralın mantığı, tek hata noktasını ortadan kaldırmaktır. Yedeğiniz yalnızca sitenin bulunduğu sunucudaysa, o sunucuya gelen bir disk arızası veya fidye yazılımı hem siteyi hem yedeği aynı anda götürür. Hosting firmanızın aldığı otomatik yedekler değerlidir ama aynı altyapıda durdukları için tek başına 3-2-1 sayılmaz.

Neleri Yedeklemelisiniz?

Tipik bir dinamik web sitesinde iki bileşen vardır ve ikisi de yedeklenmelidir:

  • Dosyalar: Site kodu, temalar, eklentiler, yüklenen görseller ve yapılandırma dosyaları.
  • Veritabanı: Yazılar, sayfalar, kullanıcılar, siparişler, ayarlar — sitenin asıl değerli içeriği genellikle buradadır.
  • Sıklık konusunda pratik bir kural: Veriniz ne kadar sık değişiyorsa o kadar sık yedekleyin. Günde birkaç yazı yayımlanan bir blog için günlük veritabanı + haftalık dosya yedeği yeterliyken, e-ticaret sitesinde veritabanı yedeğini birkaç saatte bire kadar sıklaştırmak gerekir.

    Adım 1: Veritabanı Yedeği Alın

    MySQL/MariaDB kullanan bir site için temel komut mysqldump'tır:

    mysqldump -u kullanici_adi -p veritabani_adi > /var/yedekler/db-yedek.sql
    

    Yedeği sıkıştırarak yer kazanabilir ve dosya adına tarih ekleyerek sürümleri ayırabilirsiniz:

    mysqldump -u kullanici_adi -p'parola' veritabani_adi | gzip > /var/yedekler/db-$(date +%F).sql.gz
    

    WordPress kullanıyor ve WP-CLI kuruluysa wp db export komutu da aynı işi görür; bağlantı bilgilerini wp-config.php dosyasından kendisi okur.

    Adım 2: Dosya Yedeği Alın

    Site dizininin tamamını tarihli bir arşive dönüştürün:

    tar -czf /var/yedekler/dosyalar-$(date +%F).tar.gz -C /var/www alanadi.com
    

    -C parametresi, arşivin içine tam sunucu yolunu değil yalnızca site klasörünü koyar; geri yüklerken işinizi kolaylaştırır.

    Adım 3: cron ile Otomatikleştirin

    Elle alınan yedek, unutulan yedektir. İki komutu bir betikte birleştirin (örneğin /usr/local/bin/site-yedek.sh):

    #!/bin/bash
    set -e
    TARIH=$(date +%F)
    HEDEF=/var/yedekler
    
    mysqldump -u kullanici_adi -p'parola' veritabani_adi | gzip > "$HEDEF/db-$TARIH.sql.gz"
    tar -czf "$HEDEF/dosyalar-$TARIH.tar.gz" -C /var/www alanadi.com
    
    # 14 günden eski yerel yedekleri temizle
    find "$HEDEF" -name "*.gz" -mtime +14 -delete
    

    Betiği çalıştırılabilir yapın (chmod +x /usr/local/bin/site-yedek.sh) ve crontab -e ile her gece 03:00'te çalışacak şekilde zamanlayın:

    0 3 * * * /usr/local/bin/site-yedek.sh >> /var/log/site-yedek.log 2>&1
    

    Çıktıyı bir log dosyasına yönlendirmek, bir gece sessizce başarısız olan yedeği fark etmenizi sağlar. Betiğin başındaki set -e satırı sayesinde herhangi bir komut hata verirse betik o noktada durur; böylece bozuk bir veritabanı yedeğinin üzerine sağlammış gibi devam edilmez. Daha da iyisi, betiğin sonuna basit bir bildirim eklemektir: Yedek başarıyla tamamlandığında dosya boyutunu log'a yazdırın ve haftada bir log dosyasına göz atmayı alışkanlık edinin. Sıfır baytlık bir yedek dosyası, en sık karşılaşılan sessiz arıza belirtisidir.

    Adım 4: Yedekleri Site Dışına Taşıyın

    3-2-1'in en kritik parçası budur. İki yaygın araç:

    rsync ile başka bir sunucuya senkronlamak:

    rsync -avz /var/yedekler/ yedekkullanici@yedek-sunucu:/yedekler/site1/
    

    rclone ile bulut depolamaya (S3 uyumlu depolama, Google Drive vb.) kopyalamak:

    rclone copy /var/yedekler uzak:site-yedekleri/site1
    

    Bu komutlardan birini yedek betiğinizin sonuna ekleyin; böylece her gece alınan yedek otomatik olarak site dışına da çıkar. Uzak kopya için yalnızca yazma yetkili bir hesap kullanmak, sunucunuz ele geçirilse bile saldırganın eski yedekleri silememesini sağlar.

    Kod Yazmak İstemeyenler İçin Alternatifler

    Komut satırı size uzaksa aynı strateji hazır araçlarla da kurulabilir. WordPress tarafında UpdraftPlus gibi yaygın yedekleme eklentileri; zamanlanmış yedek alma, yedekleri bulut depolamaya gönderme ve panelden tek tıkla geri yükleme özellikleri sunar. Hosting panellerinin (cPanel, Plesk) yerleşik yedekleme araçları da dosya ve veritabanını birlikte arşivleyebilir. Hangi aracı seçerseniz seçin ölçüt aynıdır: Yedek otomatik alınmalı, en az bir kopya site dışına çıkmalı ve geri yükleme denenmiş olmalı.

    Bir de güvenlik boyutu var: Yedek dosyaları sitenizin tüm verisini içerir; veritabanı yedeğinde kullanıcı bilgileri ve parola özetleri bulunur. Yedekleri asla web kök dizini altında (herkesin indirebileceği bir adreste) tutmayın, uzak kopyaları erişimi kısıtlı bir alanda saklayın ve mümkünse arşivleri şifreleyin.

    Saklama Süresi ve Geri Yükleme Testleri

    Her yedeği sonsuza dek saklamak gerekmez; kademeli bir saklama düzeni hem güvenli hem ekonomiktir:

  • Son 7-14 günün günlük yedeklerini tutun.
  • Son 2-3 ayın haftalık yedeklerinden birer tane saklayın.
  • Daha eskisi için aylık birer kopya yeterlidir.
  • Ve en çok atlanan adım: Geri yükleme testi yapın. Test edilmemiş yedek, yok hükmündedir. Ayda bir kez yedeği yerel makinenize veya geçici bir sunucuya kurun; veritabanını içe aktarın, dosyaları açın ve sitenin gerçekten ayağa kalktığını gözlerinizle görün. Bozuk çıkan bir arşivi felaket gününde değil, sakin bir test gününde keşfetmek istersiniz.

    Özet: Üç kopya, iki ortam, bir offsite. Yedeği otomatikleştir, eskiyenleri buda, ayda bir geri yükleme dene. Bu kadar basit bir rutin, web sitenizi geri dönüşü olmayan veri kaybından korur.

    Sıkça Sorulan Sorular

    Hosting firmamın aldığı yedekler yeterli değil mi?
    Tek başına yeterli değildir. Hosting yedekleri aynı altyapıda durur; firma kaynaklı bir arıza, hesap kapatma veya fidye yazılımı durumunda siteyle birlikte yedekler de erişilmez olabilir. 3-2-1 kuralının amacı tam da bu tek nokta riskini ortadan kaldırmaktır.
    Ne sıklıkla yedek almalıyım?
    İçeriği günlük değişen siteler için veritabanını günlük, dosyaları haftalık yedeklemek yaygın bir başlangıçtır. E-ticaret gibi her işlemin değerli olduğu sitelerde veritabanı yedeğini birkaç saatte bir alacak şekilde sıklaştırın.
    Yedeklerimin çalıştığından nasıl emin olurum?
    Tek yol düzenli geri yükleme testidir. Ayda bir kez yedeği geçici bir ortama (yerel makine veya test sunucusu) kurup sitenin açıldığını doğrulayın. Test edilmemiş yedek, var sayılamaz.
    WxDigitals
    WxDigitals

    WebTeknoloji.net editör ekibi; web geliştirme, SEO, hosting ve yapay zeka alanlarında üretilen içeriklerin araştırma, test ve yayın süreçlerini yürütür. Tüm incelemeler gerçek kullanım deneyimine, karşılaştırmalar ise resmi dokümantasyon ve güncel fiyatlandırma sayfalarına dayanır.

    Bu içeriği faydalı bulduysanız…

    Haftalık teknoloji & SEO rehberlerimize katılın, 38 maddelik Teknik SEO Kontrol Listesi PDF'ini hediye olarak hemen indirin.

    Yorumlar (0)

    Henüz yorum yapılmamış. İlk yorumu siz yapın!

    Yorum Yazın