mysqldump, cron ve uzak alan rotasyonu kullanan pratik bir yedekleme sistemi — artı staging sunucuyu yok ederek test ettiğimiz felaket kurtarma planı.
Kimsenin Uymadig Yedekleme Kurali
3-2-1 yedekleme kurali der ki: verilerinizin 3 kopyasini, 2 farkli depolama turunde, 1 kopyasi uzak alanda tutun. Cogu geliştirici bu kurali bilir. Neredeyse kimse CMS kurulumlari için uygulamaz. Hosting saglayicisinin gunluk yedegine guvenirler ve en iyisini umarlar.
Biz de bir hosting gocunun yanlis gitmesine ve iki sitede 72 saatlik içerik kaybetmemize kadar bu yaklasimi izledik. Hosting saglayicisinin "gunluk yedegi" aslinda 3 gun eskiydi.
mysqldump ile Veritabani Yedeklemeleri
Temel, otomatik MySQL dump'laridir. JekCMS mysqldump'i uygun seceneklerle saran bir Backup sinifi icerir. Onemli bayraklar: --single-transaction tablolari kilitlemeden tutarli bir snapshot sağlar. --routines --triggers stored prosedurlerini dahil eder. Cikti gzip'lenir, tipik olarak 50MB dump'i 5-8MB'ye düşürur.
Dosya Yedeklemeleri
Sadece veritabanı yeterli degildir. Yuklenen görseller, tema özelleştirmeleri ve yapılandırma dosyalarinin da yedeklenmesi gerekir. uploads/, config/ ve themes/ dizinleri dahil edilir; cache, temp ve log'lar haric tutulur.
Cron Zamanlama
Gunluk veritabanı yedegi sabah 3'te, haftalik dosya yedegi Pazar sabah 4'te, aylik tam yedek ayin 1'inde sabah 5'te.
Rotasyon Politikasi
Rotasyon olmadan yedekler sinirsiz depolama tuketir. Politikamiz: gunluk yedekleri 7 gun, haftalik yedekleri 4 hafta, aylik yedekleri 12 ay tut.
Kurtarma Testi
Hic test etmediginiz bir yedek, yedek degildir — bir umuttur. Her uc ayda bir staging sunucuya geri yukleyerek kurtarmayi test ediyoruz. Surec yaklasik 15 dakika surer. Son kurtarma testimiz (Subat 2026) sifir veri kaybiyla 11 dakikada tamamlandi.