WordPress Yedekleme: Object Storage ile Otomatik ve Güvenli Backup
Anahtar Kelime: WordPress Yedekleme
🧠 Teknik Özet
Bu rehber, WordPress sitelerinin S3 uyumlu Object Storage üzerine yedeklenmesini anlatır.
Amaç, medya dosylarını ve veritabanını sunucudan bağımsız saklamaktır.
Adımlar; izin ayarları, eklenti kullanımı, s3cmd ile manuel ve cron ile otomatik yedekleme içerir.
📘 Bu Rehberde Ne Öğreneceksiniz?
WordPress siteleri büyüdükçe disk kullanımı ve veri kaybı riski artar.
Bu rehberde, verilerinizi güvenli, ölçeklenebilir ve düşük maliyetli Object Storage alanına yedeklemeyi öğreneceksiniz.
Eklenti, komut satırı ve otomatik yedekleme yöntemlerini birlikte uygulayacağız.
🔧 Ön Gereksinimler
Aşağıdakiler hazır olmalıdır:
- Ubuntu üzerinde çalışan WordPress sitesi
- LAMP veya LEMP yığını kurulmuş olmalı
- S3 uyumlu Object Storage alanı (ör. Rabisu Object Storage)
- Access Key ve Secret Key bilgileri
1️⃣ WordPress Dosya İzinlerini Yapılandırma
Medya dosyaları wp-content/uploads dizinindedir.
Bu dizin yazılabilir olmalıdır.
sudo mkdir -p /var/www/html/wp-content/uploads
- Bu komut uploads klasörünü oluşturur.
sudo chown -R rabisu_user:www-data /var/www/html/wp-content/uploads
sudo chmod -R g+w /var/www/html/wp-content/uploads
- Bu komutlar web sunucusuna yazma izni verir.
2️⃣ Yöntem A: Eklenti ile Yedekleme (UpdraftPlus)
Teknik detaylarla uğraşmak istemeyenler için en pratik çözümdür.
Adımlar:
-
WordPress panelinden UpdraftPlus eklentisini kurun
-
Ayarlar → UpdraftPlus Yedekleri menüsüne girin
-
Depolama olarak S3-Compatible (Generic) seçin
-
Endpoint ve bucket bilgilerini girin
Örnek:
-
Endpoint: tr1.rabisu.storage
-
Bucket: site-yedeklerim
Bu yöntem veritabanı ve dosyaları otomatik yedekler.
3️⃣ Yöntem B: s3cmd ile Manuel Yedekleme
Daha fazla kontrol isteyenler için idealdir.
- s3cmd Kurulumu
sudo apt install s3cmd
s3cmd --configure
- Bu komut s3cmd aracını kurar ve yapılandırır.
s3cmd ls
- Bu komut bağlantıyı test eder.
- Medya Dosyalarını Yedekleme
s3cmd sync /var/www/html/wp-content/uploads s3://yedek-kovasi/medya-yedekleri/
- Bu komut sadece değişen dosyaları yükler.
- Veritabanı Yedekleme
nano ~/.my.cnf
[client]
user=veritabani_kullanicisi
password=veritabani_sifresi
chmod 600 ~/.my.cnf
mysqldump wordpress_db | gzip > db.sql.gz
s3cmd put db.sql.gz s3://yedek-kovasi/db-yedekleri/
- Bu işlem sıkıştırılmış veritabanı yedeği alır.
4️⃣ Otomatik Yedekleme (Cron Job)
nano ~/wp-yedekle.sh
#!/bin/bash
DATABASE=("wordpress_db")
UPLOADS_DIR=("/var/www/html/wp-content/uploads")
BACKUP_DIR=/home/rabisu_user/tmp_backup
S3_BUCKET=s3://yedek-kovasi/otomatik/$(date +%F)/
S3_CMD="/usr/bin/s3cmd"
mkdir -p $BACKUP_DIR
rm -rf "${BACKUP_DIR:?}/*"
for DB in "${DATABASE[@]}"; do
mysqldump --defaults-extra-file=/home/rabisu_user/.my.cnf "$DB" | gzip > "$BACKUP_DIR/$DB.sql.gz"
$S3_CMD put "$BACKUP_DIR/$DB.sql.gz" "$S3_BUCKET"
done
for DIR in "${UPLOADS_DIR[@]}"; do
$S3_CMD sync "$DIR" "$S3_BUCKET"
done
bash
chmod +x ~/wp-yedekle.sh
crontab -e
0 3 * * * /home/rabisu_user/wp-yedekle.sh
- Bu cron her gece otomatik yedek alır.
❓ Sıkça Sorulan Sorular (SSS)
1. Object Storage neden önerilir? Sunucudan bağımsız, güvenli ve ölçeklenebilir depolama sağlar.
2. s3cmd sync dosya siler mi? Hayır. --delete-removed eklenirse siler.
3. Yedekleme performansı etkiler mi? Gece saatlerinde çalıştırılırsa etkisi yoktur.
4. Veritabanı yedeği şart mı? Evet. İçerik ve ayarlar veritabanındadır.
🏁 Sonuç
Bu rehberle WordPress sitenizi Object Storage üzerine güvenle yedeklediniz. Eklenti, manuel ve otomatik yöntemleri birlikte öğrendiniz.
🚀 Rabisu Bulut S3 uyumlu Object Storage altyapısıyla yedekleme süreçlerinizi hemen otomatize edebilirsiniz.