7/24 Türkçe destek:[email protected]Sistem durumuDestek talebi

VPS Yedekleme: rsync, Veritabanı Dökümü ve Cron

Okuma süresi: 2 dk

Kısa yanıt: Veritabanını mysqldump ile dökümleyin, dosyaları ve dökümleri rsync -az ile sunucu dışındaki bir depolama alanına gönderin ve bu işlemi cron ile her gece çalıştırın. Yedeklerin gerçekten geri yüklenebildiğini ayda bir test edin.

Bu rehber kimin için: Kendi VPS’ini yöneten kullanıcılar · Gereken süre: 30 dakika · Seviye: İleri

VPS paketlerimizde sunucunun yedeği haftada bir alınır; veritabanınız sık değişiyorsa ya da sunucu dışında ek bir kopya istiyorsanız bu rehberdeki yöntemle kendi yedeğinizi alın. Haftalık yedek sunucunun bütününü korur; ancak son yedekten sonra değişen veriler onda yoktur. İyi bir yedekleme stratejisi 3-2-1 kuralını izler: üç kopya, iki farklı ortam, bir kopya farklı bir konumda.

Otomatik yedek kurulumu

  1. Yedek dizini: sudo mkdir -p /var/backups/site.
  2. Veritabanı dökümü: mysqldump --single-transaction --routines -u yedek -p'SIFRE' veritabani | gzip > /var/backups/site/db-$(date +%F).sql.gz; şifreyi komut yerine ~/.my.cnf dosyasında saklamak daha güvenlidir.
  3. Uzak sunucuya SSH anahtarı: Yedek alacak kullanıcı için parolasız bir SSH anahtarı oluşturun ve yalnızca yedek sunucusuna ekleyin.
  4. rsync: rsync -az --delete /var/www/ /var/backups/site/ yedek@YEDEK_SUNUCU:/yedekler/site/.
  5. Betik ve cron: Komutları /usr/local/bin/yedek.sh içine yazın, chmod 700 verin ve crontab -e ile 30 3 * * * /usr/local/bin/yedek.sh satırını ekleyin.
  6. Eski yedekleri silin: find /var/backups/site -name "*.sql.gz" -mtime +14 -delete satırını betiğe ekleyin.
  7. Geri yüklemeyi test edin: Ayda bir, bir test sunucusunda yedekten geri yükleme yapın.

Sürümlü yedek

rsync --delete yalnızca son durumu tutar; bir dosya bozulursa ertesi gece bozulmuş hâli yedeklenir. Geçmiş sürümleri tutmak için restic veya BorgBackup gibi tekilleştiren yedekleme araçlarını kullanın. Bu araçlar şifreli, sürümlü ve yer tasarruflu yedek sağlar.

Hâlâ çözülmediyse

Cron zamanlamasını cron ifadesi oluşturucu ile hazırlayabilirsiniz. Cron çalışmıyorsa betiğin tam yollarla yazıldığını ve kayıtları kontrol edin: Ubuntu’da /var/log/syslog, Debian 12’de journalctl -u cron, AlmaLinux ve Rocky Linux’ta journalctl -u crond. Yedeklerle uğraşmak istemiyorsanız haftalık yedekli web hosting paketlerimiz daha uygun olabilir.

Sık sorulan sorular

Yedekleri aynı VPS’te tutmak yeterli mi?

Hayır. Sunucu erişilemez olursa yedekler de erişilemez olur.

Yedekler şifrelenmeli mi?

Önerilir. Kişisel veri içeren yedekleri şifrelemek ve erişimi yalnız gereken kişilere vermek, yedek dosyası başkasının eline geçtiğinde verinin okunmasını önler; restic ve BorgBackup şifreli yedek alır, tek dosyalar için gpg kullanılabilir.

İlgili rehberler