Drupal Web Sitesi İçin Teknik Yedekleme Stratejileri

Drupal tabanlı web siteleri, yüksek özelleştirilebilirlikleri ve modüler yapılarıyla kurumsal, eğitimsel ve kamuya açık dijital projelerde sıkça tercih edilmektedir. Ancak sistemin karmaşıklığı ve veri miktarının büyüklüğü, profesyonel yedekleme stratejilerini zorunlu kılar. Drupal sistemlerinde yedekleme sadece “veritabanını indirmek” değildir; kod yapısı, dosyalar, konfigürasyonlar ve medya içerikleri gibi birçok bileşeni kapsayan kapsamlı bir süreçtir. Bu rehberde, Drupal siteleri için uygulanabilecek en güvenli ve verimli teknik yedekleme stratejilerini adım adım inceleyeceğiz.
1. Neden Yedekleme Gerekir? Riskler Neler?
Drupal gibi kompleks sistemlerde verilerin zarar görmesine neden olabilecek başlıca riskler şunlardır:
-
Sunucu arızaları ve donanım hataları
-
Güvenlik ihlalleri ve zararlı yazılımlar
-
Kodlama hataları ve sistem çökmeleri
-
Yanlış güncellemeler veya uzantı çakışmaları
-
Kullanıcı hataları (örneğin, içerik silinmesi)
Bu senaryolarda bir yedekleme stratejiniz yoksa, geri dönüş çoğu zaman imkânsız olur. Özellikle içerik yoğunluklu sitelerde veri kaybı marka değerini ve kullanıcı güvenini derinden etkiler.
2. Drupal Yedekleme Mimarisi: Neleri Kapsamalı?
Drupal web sitesinde alınması gereken yedekleme başlıkları dört ana gruba ayrılır:
A. Kod Tabanı (Codebase)
-
Tema ve modül dosyaları
-
core/
,modules/
,themes/
,vendor/
klasörleri -
composer.json
vecomposer.lock
dosyaları
B. Veritabanı
-
Drupal’ın tüm yapılandırmaları ve içerikleri içerir
-
Kullanıcı hesapları, roller, node yapısı, field verileri vb.
C. Dosya Sistemi (Public/Private Files)
-
Kullanıcıların yüklediği medya dosyaları
-
sites/default/files/
dizini (ve özel tanımlı alanlar)
D. Yapılandırma (Configuration)
-
config/sync/
dizini -
Config Split gibi gelişmiş yapılandırmalar
Bu dört bileşenin birlikte yedeklenmesi tam geri dönüş sağlar.
3. Manuel Yedekleme Süreci (Küçük Siteler İçin)
Drupal sistemini manuel olarak yedeklemek mümkündür. Ancak bu yöntem otomasyon sağlamadığı için sadece düşük trafikli ve nadiren değişen siteler için uygundur.
Adımlar:
-
Dosya yedekleme: FTP/SFTP ile tüm root klasörü yerel cihaza indirin
-
Veritabanı yedekleme: PhpMyAdmin veya
mysqldump
komutu ile SQL dosyası oluşturun -
Yapılandırma yedekleme:
drush config-export
ile konfigürasyonları dışa aktarın
Bu yöntem basit ama risklidir çünkü kullanıcı hatası veya eksik yedekleme gibi problemlerle karşılaşmak mümkündür.
4. Otomatik Yedekleme Araçları ve Modülleri
Drupal siteleri için özel olarak geliştirilmiş modüller ve otomasyon sistemleri sayesinde yedekleme işlemleri daha güvenli ve planlı hale getirilebilir.
A. Backup and Migrate Modülü
-
Kullanımı kolay, arayüz üzerinden tüm yedekleri alır
-
FTP, S3, Dropbox gibi uzak hedeflere gönderebilir
-
Zamanlama (cron) desteği vardır
B. Drush ile Otomatik Yedekleme
-
drush sql-dump
ile veritabanı yedeği -
drush archive-dump
ile tam site arşivi -
Bash script ve cronjob ile zamanlanabilir
C. Composer Snapshot’ları
-
composer.lock
dosyasının düzenli yedeği -
Versiyon güncellemeleri öncesi snapshot alınması önerilir
5. Yedekleme Sıklığı Nasıl Belirlenmeli?
Yedekleme sıklığı, sitenin yapısına ve içerik güncellemelerine bağlıdır. Aşağıda örnek senaryolara göre önerilen yedekleme frekansları yer alır:
Site Tipi | Önerilen Sıklık |
---|---|
Kurumsal statik site | Haftalık |
Blog, kişisel site | Günlük (otomatik) |
Haber portalı | 6 saatte bir |
E-ticaret sitesi | Her 2 saatte bir |
Üniversite öğrenci portalı | Saatlik (veri kritik) |
Yedekler mutlaka tarih damgası taşımalı ve versiyonlara ayrılmalıdır.
6. Yedekleme Dosyalarının Güvenli Saklanması
Yedekleme kadar önemli bir diğer konu, bu dosyaların nasıl ve nerede saklandığıdır. Güvensiz saklama yöntemleri, site verilerinin tehlikeye girmesine neden olabilir.
Güvenli Saklama Önerileri:
-
Dış sunucuda şifrelenmiş biçimde saklanmalı (örn. AES-256 ile)
-
Amazon S3, Backblaze B2, Google Cloud Storage gibi bulut depolama tercih edilmeli
-
FTP değil, SFTP veya rsync gibi güvenli protokoller kullanılmalı
-
Yedek dosyaları .htaccess ile web erişimine kapatılmalı
7. Yedekten Geri Yükleme (Restore) Süreci
Yedekleme kadar restore (geri yükleme) süreci de teknik bilgi gerektirir. Test edilmemiş bir yedek, kritik anlarda işlevsiz olabilir.
Geri Yükleme Adımları:
-
Veritabanı sıfırlanır veya overwrite edilir (
drush sql-cli < backup.sql
) -
Dosyalar tekrar sunucuya yüklenir (
scp -r backup/* user@server:/var/www/html
) -
settings.php
veservices.yml
gibi kritik dosyalar yapılandırılır -
drush cr
vedrush cim
komutları ile sistem yeniden senkronize edilir
Önemli Uyarı:
-
Geri yükleme, mümkünse staging ortamında test edildikten sonra canlıya alınmalıdır.
8. Farklı Ortamlarda Yedekleme Stratejileri
Drupal siteleri geliştirme (dev), test (staging) ve canlı (production) ortamlarında ayrı yedekleme politikaları gerektirir.
Ortama Göre Yaklaşımlar:
-
Dev Ortamı: Git commit + config export yedeklemesi
-
Staging: Günlük snapshot ve
drush archive-dump
-
Production: 3 katmanlı yedekleme (kod, veri, yapılandırma) + uzaktan kopyalama
Ayrıca ortamlar arası senkronizasyon işlemlerinde veritabanı ve dosyaların karışmasını önlemek için filtreleme yapılmalıdır (örneğin staging → production veri geçişi engellenmelidir).
9. Cron ile Otomatik Yedekleme Planlaması
Drupal’ın zamanlayıcı (cron) altyapısı kullanılarak belirli aralıklarla yedekleme işlemleri otomatik hâle getirilebilir.
Cron Planlama Adımları:
-
crontab -e
komutu ile zamanlama dosyası açılır -
Aşağıdaki gibi bir giriş yapılabilir:
-
Dosya isimleri tarih bazlı versiyonlandırılır
-
Script içinde hata kontrolü yapılırsa e-posta bildirimi gönderilebilir
Bu yöntem sayesinde manuel yedek almayı unutmak gibi hatalar ortadan kalkar.
10. En İyi Uygulamalar (Best Practices)
Drupal yedekleme sürecinde aşağıdaki prensipler sitenizi teknik açıdan korumaya alacaktır:
-
Yedekler 3 ayrı yerde saklanmalı: canlı sunucu, uzak sunucu, yerel cihaz
-
Otomatik yedekleme + manuel kontrol birlikte kullanılmalı
-
Her güncellemeye ve modül eklemesine karşı snapshot alınmalı
-
Geri yükleme adımları düzenli test edilip belgelenmeli
-
Yedekleme dosyaları parola korumalı arşivlerde tutulmalı
SONUÇ: Yedekleme Lüks Değil, Zorunluluktur
Drupal gibi karmaşık yapıya sahip içerik yönetim sistemlerinde yedekleme, sadece felaket anlarında değil; her kod güncellemesi, modül entegrasyonu ve içerik düzenlemesinden sonra kritik öneme sahiptir. Profesyonelce yapılandırılmış bir yedekleme stratejisi, Drupal sitenizin sürdürülebilirliğini ve güvenliğini doğrudan etkiler.
Bu yazıda anlatılan yedekleme yöntemleri; küçük blog sitelerinden büyük kurumsal platformlara kadar tüm Drupal kullanıcıları için kapsamlı bir rehber niteliğindedir. Unutmayın: Bir gün yedeğinizi geri yüklemek zorunda kalabilirsiniz. Ve o gün geldiğinde, yedeğinizin çalışır olması her şeyden daha değerlidir.