VPS Yedekleme: rsync, Veritabanı Dökümü ve Cron
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
- Yedek dizini: sudo mkdir -p /var/backups/site.
- 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.
- Uzak sunucuya SSH anahtarı: Yedek alacak kullanıcı için parolasız bir SSH anahtarı oluşturun ve yalnızca yedek sunucusuna ekleyin.
- rsync: rsync -az --delete /var/www/ /var/backups/site/ yedek@YEDEK_
SUNUCU:/yedekler/site/. - 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.
- Eski yedekleri silin: find /var/backups/site -name "*.sql.gz" -mtime +14 -delete satırını betiğe ekleyin.
- 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
- VPS Snapshot Var mı? Yedek ve Geri Dönüş Noktası
- VPS Diski Doldu: Yer Açma ve Büyük Dosyaları Bulma
- cPanel’de Cron Job (Zamanlanmış Görev) Oluşturma
Bu rehber işinize yaradı mı?
Teşekkürler. Çözüm bulamadıysanız destek talebi açın veya [email protected] adresine yazın.