Bir sabah panele giriyorsunuz ve siteniz açılmıyor. Ekranda ya bembeyaz bir sayfa, ya bir veritabanı hatası, ya da hiç istemediğiniz türden bir fidye mesajı var. İşte tam bu anda, geçmişte web sitesi yedekleme konusuna ne kadar önem verdiğiniz belirleyici hâle gelir. Düzenli ve test edilmiş bir yedekleme rutininiz varsa, sorun birkaç saatlik bir aksaklığa dönüşür. Yoksa, aylarca emek verdiğiniz içerik, müşteri verileri ve arama motoru sıralamaları bir anda yok olabilir.
Pek çok site sahibi yedeklemeyi "ileride yaparım" listesine atar ve felaket gerçekleşene kadar bu konuya hiç dokunmaz. Oysa veri kaybı; sunucu arızası, başarısız bir eklenti güncellemesi, kötü amaçlı yazılım saldırısı, hatalı bir silme komutu ya da hosting sağlayıcısının iflası gibi onlarca farklı sebepten kaynaklanabilir. Bunların ne zaman olacağını kestiremezsiniz; ama olduğunda ne yapacağınızı önceden planlayabilirsiniz.
Bu rehberde, site yedekleme stratejisini sıfırdan nasıl kuracağınızı, hangi verileri ne sıklıkla yedeklemeniz gerektiğini, bir felaket kurtarma planının hangi bileşenlerden oluştuğunu ve geri yükleme sürecini nasıl test edeceğinizi adım adım anlatacağız. Amacımız size yalnızca "yedek alın" demek değil; o yedeği gerçekten işe yarar hâle getirmenin pratik yollarını göstermek.
Yedekleme ile Felaket Kurtarma Arasındaki Fark
Bu iki kavram sık sık birbirine karıştırılır, ancak aralarında önemli bir fark vardır. Yedekleme (backup), verilerinizin bir kopyasını güvenli bir yerde saklama eylemidir. Felaket kurtarma planı ise, bir sorun yaşandığında bu kopyaları kullanarak sitenizi en kısa sürede ve en az veri kaybıyla yeniden ayağa kaldırma stratejisinin tamamıdır.
Başka bir deyişle yedekleme bir araçtır, kurtarma planı ise o aracı kullanma kılavuzudur. Elinizde onlarca yedek dosyası olabilir; fakat hangisini, nereye, kim tarafından ve hangi adımlarla geri yükleyeceğinizi bilmiyorsanız, o yedekler kâğıt üzerinde kalır. İyi bir plan, panik anında düşünmek zorunda kalmamanızı sağlar.
Felaket kurtarma planlamasında iki temel ölçüt vardır ve bu ölçütleri belirlemeden sağlıklı bir strateji kuramazsınız:
- RTO (Recovery Time Objective): Sitenizin kabul edilebilir maksimum kesinti süresi. Yani "ne kadar süre çevrimdışı kalabilirim?" sorusunun yanıtı. Bir kişisel blog için bu süre 24 saat olabilirken, çevrimiçi satış yapan bir mağaza için belki 15 dakikadır.
- RPO (Recovery Point Objective): Kaybedilebilecek maksimum veri miktarı, genellikle zaman cinsinden ifade edilir. "En fazla ne kadarlık veriyi gözden çıkarabilirim?" Günde bir kez yedek alıyorsanız, en kötü senaryoda 24 saatlik veriyi kaybedebilirsiniz.
Bu iki değeri belirlediğinizde, yedekleme sıklığınız ve yatırım yapmanız gereken altyapı netleşir. RTO ve RPO ne kadar düşükse, çözümünüz o kadar gelişmiş ve genellikle o kadar maliyetli olur.
Hangi Verileri Yedeklemelisiniz?
Eksiksiz bir site yedekleme işlemi, yalnızca birkaç sayfayı kopyalamaktan çok daha kapsamlıdır. Sitenizi sıfırdan yeniden inşa edebilmek için gereken her bileşeni kapsamalıdır. Bu bileşenleri net biçimde anlamak, yedeğinizde hiçbir eksik kalmamasını sağlar.
Dosya Sistemi
Tema dosyaları, eklentiler, yüklediğiniz görseller, videolar, PDF'ler, yapılandırma dosyaları ve özel kodlarınız bu kategoriye girer. Özellikle medya kütüphanesi zamanla büyüdüğü için yedeklerin en hacimli kısmını genellikle bu klasör oluşturur.
Veritabanı
İçerik yönetim sistemi kullanan sitelerde asıl değer veritabanındadır. Yazılarınız, sayfalarınız, kullanıcı hesapları, yorumlar, ürün bilgileri, sipariş kayıtları ve site ayarları burada saklanır. Veritabanını yedeklemeden alınan bir dosya yedeği, çoğu durumda işe yaramaz çünkü içeriğin kendisi eksik kalır.
Yapılandırma ve Ortam Bilgileri
Alan adı (domain) ayarları, DNS kayıtları, SSL sertifikaları, sunucu yapılandırması, ortam değişkenleri ve API anahtarları gibi bilgileri de bir yerde belgelemelisiniz. Bunlar dosya yedeğinin parçası olmasa bile, kurtarma sırasında ihtiyaç duyacağınız kritik bilgilerdir.
E-posta ve Üçüncü Taraf Entegrasyonlar
Eğer alan adınıza bağlı e-posta hesapları, form gönderileri veya harici servislerle entegrasyonlar varsa, bunların da nasıl yeniden yapılandırılacağını planınıza ekleyin. Sitenin teknik olarak ayağa kalkması yetmez; tüm fonksiyonların yeniden çalışır hâle gelmesi gerekir.
3-2-1 Yedekleme Kuralı
Yedekleme dünyasında en çok kabul gören ilke 3-2-1 kuralıdır. Bu yaklaşım, tek bir noktada toplanan yedeklerin tek bir olayla birlikte yok olma riskini ortadan kaldırmayı hedefler. Kuralı şöyle özetleyebiliriz:
- 3 kopya: Verilerinizin toplamda en az üç kopyası bulunsun. Bu, biri canlı sürüm olmak üzere iki ayrı yedek anlamına gelir.
- 2 farklı ortam: Bu kopyalar en az iki farklı depolama türünde saklansın. Örneğin biri sunucu diskinde, diğeri bulut depolamada olsun.
- 1 kopya farklı lokasyonda: En az bir kopya fiziksel olarak ayrı bir konumda (off-site) tutulsun. Sunucunuzla aynı veri merkezinde duran bir yedek, o veri merkezinde çıkan bir yangında işe yaramaz.
Bu kuralın mantığı basittir: Aynı anda birden fazla bağımsız sistemin çökme olasılığı, tek bir sistemin çökme olasılığından çok daha düşüktür. Yedeklerinizi farklı ortamlara ve konumlara dağıttığınızda, tek bir olayın tüm kopyalarınızı yok etme ihtimalini ciddi biçimde azaltırsınız.
Günümüzde bu kurala bir adım daha eklenerek "3-2-1-1-0" yaklaşımı da konuşulmaktadır: Bir kopyanın çevrimdışı ya da değiştirilemez (immutable) olması ve doğrulama sonucunda sıfır hata bulunması. Değiştirilemez yedekler, özellikle fidye yazılımı saldırılarında saldırganın yedeklerinizi de şifrelemesini engellediği için son yıllarda büyük önem kazanmıştır.
Yedekleme Sıklığı ve Saklama Politikası
Ne sıklıkta yedek almanız gerektiği, sitenizin ne kadar sık değiştiğine bağlıdır. Statik bir tanıtım sitesi haftada bir güncellenir, oysa aktif bir e-ticaret sitesinde her dakika yeni sipariş kaydedilir. Sıklığı belirlerken yukarıda bahsettiğimiz RPO değerinizi rehber alın.
Aşağıdaki tablo, farklı site türleri için yaygın olarak önerilen yedekleme yaklaşımlarını özetler:
| Site Türü | Önerilen Sıklık | Saklama Süresi | Öncelikli Veri |
|---|---|---|---|
| Statik tanıtım sitesi | Haftalık | 1-2 ay | Dosyalar |
| Düzenli güncellenen blog | Günlük | 1 ay | Veritabanı + dosyalar |
| Kurumsal site | Günlük | 3 ay | Tüm bileşenler |
| E-ticaret / üyelik | Saatlik veya sürekli | 6 ay+ | Veritabanı (öncelikli) |
| Yüksek trafikli uygulama | Sürekli / anlık | 6-12 ay | Veritabanı + işlem günlükleri |
Saklama politikası da en az sıklık kadar önemlidir. Yalnızca en son yedeği saklarsanız, fark etmediğiniz bir sorun (örneğin sessizce bozulan bir veritabanı veya sızan bir kötü amaçlı yazılım) yedeklerinize de bulaşmış olabilir. Bu yüzden katmanlı bir saklama yaklaşımı tercih edilir.
Büyükbaba-Baba-Oğul Yöntemi
Klasik bir saklama stratejisi olan bu yöntemde farklı zaman aralıklarına ait yedekler bir arada tutulur:
- Günlük yedekler (oğul): Son 7 günün her gününe ait kopyalar.
- Haftalık yedekler (baba): Son 4-5 haftaya ait birer kopya.
- Aylık yedekler (büyükbaba): Son birkaç aya ait birer kopya.
Bu sayede hem dün yapılan bir hatayı geri alabilir, hem de iki ay önceki temiz bir sürüme dönebilirsiniz. Sorunun ne zaman başladığını bilemediğiniz durumlarda bu derinlik hayat kurtarır.
Yedekleme Yöntemleri ve Otomasyon
Yedekleme işlemini farklı yöntemlerle gerçekleştirebilirsiniz. Doğru yöntem; teknik bilginize, sitenizin büyüklüğüne ve bütçenize göre değişir. Aşağıda en yaygın yaklaşımları ve bunların artılarını ele alıyoruz.
Manuel Yedekleme
Dosyaları FTP ile bilgisayarınıza indirmek ve veritabanını panelden dışa aktarmak en basit yöntemdir. Maliyetsizdir, ancak insana bağımlı olduğu için en kırılgan yöntemdir de. Unuttuğunuz bir gün, tam da felaketin yaşandığı gün olabilir. Manuel yedekleme yalnızca çok nadir değişen küçük siteler için ya da otomatik sisteme ek bir güvenlik adımı olarak düşünülmelidir.
Eklenti veya Panel Tabanlı Yedekleme
Birçok içerik yönetim sistemi ve hosting paneli, birkaç tıklamayla yedek almanızı sağlayan araçlar sunar. Bunlar genellikle zamanlanmış yedekleme, bulut depolamaya gönderme ve tek tıkla geri yükleme gibi özellikler içerir. Teknik bilgisi sınırlı kullanıcılar için ideal başlangıç noktasıdır.
Komut Satırı ve Otomasyon Betikleri
Sunucuya erişiminiz varsa, zamanlanmış görevler (cron) ile çalışan betikler yazarak tam otomatik bir backup süreci kurabilirsiniz. Bu yöntem en esnek ve en güvenilir olanıdır; veritabanı dökümü almayı, dosyaları sıkıştırmayı ve uzak depolamaya aktarmayı tek bir akışta birleştirir. Aşağıda kavramsal bir örnek görebilirsiniz:
# Veritabanı dökümü al ve sıkıştır
mysqldump -u kullanici -p veritabani | gzip > yedek_$(tarih).sql.gz
# Dosyaları arşivle
tar -czf dosyalar_$(tarih).tar.gz /var/www/site
# Uzak depolamaya kopyala
rsync -avz yedek_*.gz uzak-sunucu:/yedekler/
Hosting Sağlayıcısının Otomatik Yedekleri
Çoğu hosting firması kendi otomatik yedeklemesini sunar. Bu güzel bir ek katmandır, ancak tek başına yeterli değildir. Çünkü bu yedekler genellikle aynı altyapı içinde tutulur; sağlayıcı taraflı büyük bir arıza ya da hesabınızın askıya alınması durumunda bu yedeklere erişiminizi kaybedebilirsiniz. Sağlayıcı yedeğine güvenmek, 3-2-1 kuralının "farklı lokasyon" maddesini ihlal eder.
İdeal kurulumda otomasyon esastır. İnsan hafızasına dayanan hiçbir süreç uzun vadede güvenilir değildir. Yedeklerin otomatik alınması, otomatik doğrulanması ve başarısızlık durumunda size bildirim göndermesi gerekir. Sessizce başarısız olan bir yedekleme sistemi, hiç olmayandan bile tehlikeli olabilir; çünkü size yanlış bir güven duygusu verir.
Felaket Kurtarma Planı Nasıl Hazırlanır?
Yedekleriniz hazır olduğunda sıra, bunları bir kurtarma planı çerçevesinde organize etmeye gelir. İyi bir plan, herhangi bir ekip üyesinin (hatta sizin yokluğunuzda başka birinin) takip edebileceği netlikte yazılı bir doküman olmalıdır. Aşağıdaki adımlar sağlam bir planın iskeletini oluşturur.
1. Risklerinizi Belirleyin
Sitenizin karşılaşabileceği tehditleri listeleyin: donanım arızası, kötü amaçlı yazılım, insan hatası, başarısız güncelleme, DDoS saldırısı, sağlayıcı kaynaklı kesinti ve doğal afetler. Her riskin olasılığını ve potansiyel etkisini değerlendirin. Bu, hangi senaryolara öncelik vereceğinizi belirler.
2. Sorumlulukları Tanımlayın
Bir felaket anında kimin neyi yapacağını önceden belirleyin. Kim yedeği geri yükleyecek? Kim hosting sağlayıcısıyla iletişime geçecek? Kim kullanıcıları durumdan haberdar edecek? Tek kişilik bir operasyon yürütüyor olsanız bile, bu adımları yazılı hâle getirmek panik anında düşünme yükünüzü azaltır.
3. Adım Adım Kurtarma Prosedürünü Yazın
Hangi yedeği nereden alacağınızı, hangi sırayla geri yükleyeceğinizi, DNS ayarlarını nasıl yöneteceğinizi ve siteyi yeniden yayına almadan önce hangi kontrolleri yapacağınızı detaylandırın. Bu prosedür o kadar açık olmalı ki, stres altında bile hata yapma ihtimaliniz en aza insin.
4. İletişim Planı Oluşturun
Uzun süreli bir kesintide ziyaretçilerinizi ve müşterilerinizi bilgilendirmek güveni korur. Geçici bir bakım sayfası, sosyal medya duyurusu veya e-posta bildirimi gibi araçları planınıza dahil edin. Sessiz kalmak, kullanıcıların sitenizi tamamen terk etmesine yol açabilir.
5. İletişim ve Erişim Bilgilerini Saklayın
Hosting paneli, alan adı kayıt firması, DNS yönetimi ve yedek depolama hesaplarına ait erişim bilgilerini güvenli bir parola yöneticisinde tutun. Bu bilgilere yalnızca sitenizin kendisinden ulaşabiliyorsanız ve site çökmüşse, ciddi bir çıkmaza girersiniz.
Yedekleri Test Etmek: Çoğu Kişinin Atladığı Adım
Burası, web sitesi yedekleme sürecinin en kritik ama en çok ihmal edilen kısmıdır. Test edilmemiş bir yedek, yedek sayılmaz. Pek çok site sahibi yıllarca düzenli yedek aldığını düşünür; ta ki bir gün geri yüklemeye çalışana kadar. O an dosyaların bozuk olduğunu, veritabanı dökümünün eksik alındığını ya da arşivin hiç açılamadığını fark etmek, yaşanabilecek en kötü sürprizlerden biridir.
Bu yüzden yedeklerinizi belirli aralıklarla gerçekten geri yükleyerek test etmelisiniz. Test sürecini şu şekilde planlayabilirsiniz:
- Ayrı bir test ortamı kurun. Yedeği canlı sitenizin üzerine değil, izole bir alt alan adına veya yerel bir ortama geri yükleyin.
- Tam bir geri yükleme yapın. Hem dosyaları hem veritabanını geri yükleyerek sitenin eksiksiz çalışıp çalışmadığını kontrol edin.
- Fonksiyonları doğrulayın. Sayfaların açıldığını, formların çalıştığını, görsellerin yüklendiğini ve girişin yapılabildiğini test edin.
- Süreyi ölçün. Geri yüklemenin ne kadar sürdüğünü kaydedin. Bu, gerçek bir kurtarma planı için RTO değerinizi gerçekçi biçimde belirlemenizi sağlar.
- Sonuçları belgeleyin. Karşılaştığınız sorunları ve çözümleri not alın; bir sonraki sefere bu notlar süreci hızlandırır.
Yedek doğrulamasını ayda bir, en azından üç ayda bir yapmanızı öneririz. Otomatik doğrulama mekanizmaları kurabiliyorsanız (örneğin yedek dosyasının bütünlüğünü kontrol eden ve boyutunu beklenen aralıkta doğrulayan betikler), bu işi büyük ölçüde otomatikleştirebilirsiniz. Yine de düzenli aralıklarla elle tam bir geri yükleme provası yapmanın yerini hiçbir otomasyon tutmaz.
Güvenlik ve Yedeklerin Korunması
Yedekleriniz, sitenizin tüm verisini içerdiği için aslında son derece değerli ve hassas dosyalardır. Yanlış yönetilen bir backup, bizzat bir güvenlik açığına dönüşebilir. Bu nedenle yedeklerinizi korumak için şu önlemleri alın:
- Şifreleme kullanın. Özellikle kullanıcı verisi veya kişisel bilgi içeren yedekleri hem aktarım sırasında hem de depolamada şifreleyin. Bir yedek dosyası kötü niyetli birinin eline geçerse, şifresiz olduğunda tüm verileriniz açığa çıkar.
- Erişimi sınırlayın. Yedeklere yalnızca yetkili kişilerin ulaşabilmesini sağlayın. Yedek depolama hesaplarınızda güçlü parolalar ve iki faktörlü kimlik doğrulama kullanın.
- Yedekleri web'den erişilemez konumlarda tutun. Yedek arşivlerinizi sitenizin herkese açık dizinlerinde saklamayın. Tahmin edilebilir bir adreste duran bir yedek dosyası, doğrudan indirilebilir hâle gelir.
- Değiştirilemez yedek tutun. Fidye yazılımlarına karşı en etkili savunma, saldırganın bile silemeyeceği veya değiştiremeyeceği bir kopyaya sahip olmaktır.
Kişisel veri içeren yedekler söz konusu olduğunda, ilgili veri koruma düzenlemelerine de uymanız gerektiğini unutmayın. Veriyi sakladığınız süre, sakladığınız konum ve eriştiğiniz kişiler bu yükümlülükler kapsamında değerlendirilir.
Sık Yapılan Hatalar
Deneyimsiz site sahiplerinin sıkça düştüğü bazı tuzaklar vardır. Bunları önceden bilmek, aynı hataları yapmanızı önler:
- Yedekleri sunucuyla aynı yerde saklamak ve böylece tek bir arızayla her şeyi kaybetmek.
- Yedek alındığını varsaymak ama hiç kontrol etmemek; sessizce başarısız olan bir sistemin farkına varmamak.
- Yalnızca dosyaları yedekleyip veritabanını atlamak veya tam tersini yapmak.
- Yedekleri hiç test etmemek ve bozuk yedeklerle güvenli olduğunu sanmak.
- Saklama süresini çok kısa tutmak; sorunun başladığı tarihten önceki temiz sürüme dönememek.
- Erişim bilgilerini yalnızca sitenin içinde tutmak ve site çöktüğünde bu bilgilere ulaşamamak.
- Felaket kurtarma planını hiç yazıya dökmemek ve her şeyi hafızaya bırakmak.
Bu hataların hemen hepsinin ortak noktası, "iyimserlik". İnsan, kötü bir şeyin başına gelmeyeceğini varsaymaya eğilimlidir. Oysa yedekleme tam olarak bu varsayımın yanlış çıktığı an için vardır.
Sıkça Sorulan Sorular
Web sitesi yedekleme ne sıklıkla yapılmalı?
Bu, sitenizin ne kadar sık değiştiğine bağlıdır. Nadiren güncellenen statik bir site için haftalık yedek yeterli olabilir. Düzenli içerik yayınlayan bir blog için günlük, sürekli işlem gören bir e-ticaret sitesi için ise saatlik veya sürekli yedekleme önerilir. Temel kural şudur: En son yedekten bu yana kaybedebileceğiniz veri miktarını kabul edilebilir bulduğunuz aralığı seçin.
Hosting sağlayıcımın otomatik yedeği yeterli mi?
Sağlayıcının yedeği değerli bir ek katmandır, ancak tek başına güvenmek riskli olur. Bu yedekler genellikle sağlayıcının kendi altyapısında tutulur; hesabınızın askıya alınması, sağlayıcı kaynaklı büyük bir arıza veya firmanın hizmeti durdurması durumunda bu yedeklere erişiminizi kaybedebilirsiniz. Bu nedenle her zaman sağlayıcıdan bağımsız, kendi kontrolünüzde olan en az bir kopyaya daha sahip olun.
Yedeklerimi nerede saklamalıyım?
İdeal yaklaşım 3-2-1 kuralını uygulamaktır: En az iki farklı depolama ortamı ve en az bir tane farklı fiziksel konumda kopya. Pratikte bu, bir kopyayı bulut depolama hizmetinde, bir kopyayı ayrı bir sunucuda veya yerel bir diskte tutmak anlamına gelir. Önemli olan tüm kopyaların aynı anda yok olabileceği tek bir noktaya bağlı kalmamaktır.
Bir kurtarma planı hazırlamak için teknik uzman olmam gerekir mi?
Hayır. Temel bir kurtarma planı, herhangi bir site sahibinin hazırlayabileceği yazılı bir dokümandır: hangi yedeğin nerede olduğu, sorun çıkınca kime ulaşılacağı, geri yükleme adımları ve erişim bilgilerinin saklandığı yer. Teknik geri yükleme işlemini bir uzman yapacak olsa bile, planın varlığı süreci hızlandırır ve hata olasılığını azaltır. Karmaşık altyapılar için bir profesyonelden destek almak elbette faydalıdır.
Fidye yazılımı saldırısında yedeklerim beni kurtarır mı?
Doğru yapılandırılmışsa evet. Fidye yazılımları verilerinizi şifreleyerek erişilemez hâle getirir. Eğer şifrelenmemiş, erişilebilir ve güncel bir yedeğiniz varsa, fidye ödemeden sisteminizi geri yükleyebilirsiniz. Ancak modern fidye yazılımları erişebildikleri yedekleri de şifrelemeye çalışır. Bu yüzden çevrimdışı veya değiştirilemez (immutable) bir kopya tutmak kritik öneme sahiptir.
Yedeklerimi gerçekten test etmem şart mı?
Kesinlikle. Test edilmemiş bir yedek, gerçek bir yedek sayılmaz. Dosyaların bozulması, veritabanı dökümünün eksik alınması veya arşivin açılamaması gibi sorunlar, ancak geri yükleme denemesi yaptığınızda ortaya çıkar. Bu sorunları gerçek bir felaket anında değil, planlı bir test sırasında keşfetmek istersiniz. En az üç ayda bir ayrı bir ortamda tam geri yükleme provası yapın.
Sonuç
Web sitesi yedekleme, "olsa iyi olur" kategorisinde bir lüks değil; çevrimiçi varlığınızın temel bir sigortasıdır. Ne kadar güçlü bir altyapı kurarsanız kurun, hiçbir sistem yüzde yüz arızasız değildir. Asıl fark, bir sorun yaşandığında ne kadar hazırlıklı olduğunuzda ortaya çıkar.
Sağlam bir stratejinin özünü birkaç ilkede toplayabiliriz: 3-2-1 kuralına uygun olarak farklı ortam ve konumlarda birden fazla kopya tutmak, yedekleri otomatikleştirip insan hatasını devre dışı bırakmak, saklama politikanızı katmanlı kurmak ve en önemlisi yedeklerinizi düzenli olarak test etmek. Bunların yanında, panik anında düşünmek zorunda kalmamanız için yazılı bir kurtarma planına sahip olmak süreci tamamen değiştirir.
Bugün atacağınız en değerli adım, mevcut durumunuzu dürüstçe değerlendirmektir. Yedeğiniz var mı? Nerede duruyor? En son ne zaman test ettiniz? Bu soruların yanıtı sizi tatmin etmiyorsa, bir felaket sizi hazırlıksız yakalamadan önce harekete geçin. İyi tasarlanmış bir backup ve kurtarma planı kurmak için harcayacağınız birkaç saat, ileride yaşayabileceğiniz günlerce süren bir kâbusun önüne geçebilir. Verileriniz değerlidir; onları o şekilde koruyun.