Drupal CMS Tabanlı Web Sitesinde Yedekleme ve Kurtarma

Drupal, modüler yapısı ve gelişmiş içerik yönetim olanaklarıyla büyük ölçekli projelerde sıklıkla tercih edilen bir CMS platformudur. Ancak her ölçekte web sitesi için, veri güvenliği ve sürdürülebilirlik açısından yedekleme ve kurtarma mekanizmalarının kusursuz işlemesi şarttır. Donanım arızaları, yazılım hataları, güvenlik açıkları veya kullanıcı hataları nedeniyle oluşabilecek veri kayıpları, projenin tamamını riske atabilir. Bu nedenle Drupal tabanlı web sitelerinde düzenli yedekleme ve gerektiğinde hızlı kurtarma işlemleri bir güvenlik stratejisinin temelini oluşturmalıdır.
Bu makalede, Drupal CMS ile oluşturulmuş web sitelerinde tam ve otomatik yedekleme süreçlerinin nasıl yapılandırılacağını, veritabanı ve dosya sisteminin ayrı ayrı nasıl ele alınması gerektiğini, kurtarma senaryolarının nasıl oluşturulacağını ve en iyi Drupal yedekleme modüllerini detaylı biçimde ele alacağız. Ayrıca yedekleme planlama, sürümleme, dışa aktarma, bulut yedekleme ve güvenli depolama gibi konulara da teknik düzeyde değinilecektir.
Drupal’da Yedekleme Neden Kritik?
Drupal tabanlı sitelerde yedekleme, yalnızca verilerin korunması açısından değil; aynı zamanda güncelleme, modül entegrasyonu, tema değişimi ve içerik silme gibi işlemlerde olası geriye dönme ihtiyaçları açısından da hayati önemdedir.
Olası Veri Kaybı Senaryoları:
-
Core veya modül güncellemelerinde oluşan çakışmalar
-
Kod veya veritabanı üzerinde yapılan hatalı değişiklikler
-
Güvenlik ihlalleri sonucu veri bozulması
-
Hosting taraflı sunucu çökmeleri
-
Tema dosyalarının yanlışlıkla silinmesi
Drupal Yedekleme Türleri
1. Tam Yedekleme
-
Drupal çekirdek dosyaları, modüller, temalar, kullanıcı yüklemeleri (sites/default/files) ve veritabanını kapsar.
-
Genellikle dış kaynaklara aktarılır (FTP, bulut, harici disk).
2. Kısmi Yedekleme
-
Sadece veritabanı ya da belirli dizinlerin yedeği alınır.
-
İçerik değişimleri için uygundur, yapılandırma değişimleri için yetersizdir.
3. Otomatik Zamanlanmış Yedekleme
-
Cron görevleriyle belirli aralıklarla otomatik yapılır.
-
Drupal modülleri veya sunucu taraflı çözümlerle entegre edilebilir.
Drupal’da Yedekleme Nasıl Yapılır?
1. Manuel Yedekleme (Teknik Kullanıcılar İçin)
-
Veritabanı:
mysqldump -u root -p drupal_database > backup.sql
-
Dosya Sistemi:
Drupal dizini sıkıştırılarak alınır:tar -czvf drupal-site-backup.tar.gz /var/www/html/drupal
Bu yöntem geliştirici odaklıdır, CLI (komut satırı) erişimi gerektirir.
2. Modül Tabanlı Yedekleme
Drupal topluluğu tarafından geliştirilen yedekleme modülleri sayesinde, teknik bilgiye gerek kalmadan kullanıcı arayüzü üzerinden yedekleme işlemleri yapılabilir.
a) Backup and Migrate
En çok tercih edilen yedekleme modülüdür.
Özellikleri:
-
Veritabanı ve dosya yedekleme
-
GZIP sıkıştırmalı dışa aktarma
-
Otomatik zamanlama (cron)
-
Dropbox, FTP veya doğrudan sunucuya aktarma
Kurulum:composer require drupal/backup_migrate
Arayüz:
Yönetim > Yapılandırma > Gelişmiş > Backup and Migrate
b) Simple Backup
-
Daha hafif yapılı modül
-
Temel veritabanı yedekleme
-
ZIP formatında dışa aktarım
Dosya ve Medya Yedeklemesi
Drupal’da içerik görselleri ve medya dosyaları genellikle sites/default/files
klasöründe tutulur. Bu dizin mutlaka yedekleme planına dahil edilmelidir.
Dosya Yedekleme Stratejisi:
-
Günlük olarak değişmeyen dizinlerde haftalık yedek yeterlidir
-
Medya dosyaları çok yer kapladığı için farklı sunucuya/objeye taşınabilir (S3, Azure Blob)
Yedekleme Zamanlaması ve Sıklığı
İçerik Tipi | Yedekleme Sıklığı |
---|---|
Veritabanı | Günlük |
Medya | Haftalık |
Tam Sistem | Haftalık/Aylık |
Kurtarma Süreci: Yedekten Geri Yükleme
1. Veritabanı Yükleme
mysql -u root -p drupal_database < backup.sql
2. Dosya Sistemini Geri Yükleme
tar -xzvf drupal-site-backup.tar.gz -C /var/www/html/
3. Drupal Configuration Import
drush cim
komutu ile yapılandırmalar geri alınabilir. Sürüm farklarına dikkat edilmelidir.
4. Modül Uyumluluğu ve Versiyon Kontrolü
-
Geri yükleme sonrası modül sürümleri ile core uyumu kontrol edilmeli
-
Gerekiyorsa
composer update
veyadrush updb
çalıştırılmalı
Sürümleme ve Geri Dönülebilirlik
Drupal 8 ve sonrası sürümler, yapılandırma yönetimini YAML dosyaları ile sağlar. Bu dosyaların versiyon kontrol sistemlerine (Git gibi) dahil edilmesi, sadece yedekleme değil, geriye dönük değişiklik takibi için de önemlidir.
En İyi Yedekleme Uygulamaları
✅ Hem veritabanı hem dosya sistemi birlikte yedeklenmeli
✅ Yedeklemeler düzenli olarak test edilmeli
✅ Yedek dosyaları parola korumalı ve şifrelenmiş olmalı
✅ Farklı fiziksel lokasyonlara (offsite) yedek alınmalı
✅ Yedek dosyaları eski sürümlerle etiketlenmeli
✅ Otomasyon mümkün olduğunca cron veya API ile yapılmalı
✅ Sık yapılan içerik değişimlerinden sonra manuel yedek alınmalı
Drupal Yedekleme İçin En İyi Modüller
-
Backup and Migrate
-
Simple Backup
-
Backup Migrate Files
-
Automated Cron
-
Config Split + Config Ignore (Yapılandırma dosyaları için)
Sonuç
Drupal ile oluşturulmuş bir web sitesinde yedekleme ve kurtarma süreci, dijital varlığın devamlılığı için olmazsa olmazdır. Düzenli ve otomatikleştirilmiş yedekleme sistemleri, beklenmeyen durumlarda kayıpların önüne geçer. Sadece bir güvenlik önlemi değil, aynı zamanda operasyonel bir zorunluluk olan bu süreç, modül desteğiyle kolaylaştırılabilir ve ileri düzey kullanıcılar için komut satırıyla entegre edilebilir. Gelişmiş yedekleme stratejileri, Drupal altyapısını uzun vadeli ve güvenli bir dijital yatırım haline getirir.