Rsync ile Dosya Yedekleme ve Senkronizasyon Rehberi
Rsync ile Dosya Yedekleme ve Senkronizasyon Rehberi
Rsync, Linux ve Unix tabanlı sistemlerde dosyaları yedeklemek, kopyalamak veya iki dizin arasında senkronize etmek için kullanılan güçlü ve hızlı bir araçtır. Özellikle sistem yöneticileri tarafından uzaktaki sunucularla veri eşitleme, yedekleme otomasyonu ve ağ üzerinden güvenli transfer işlemleri için tercih edilir.
- Rsync Nedir?
- Rsync’in Temel Özellikleri
- Rsync Kurulumu
- Rsync Komutunun Temel Söz Dizimi
- Örnek:
- Yaygın Rsync Parametreleri
- Uzak Sunucuya Yedekleme (SSH Üzerinden)
- İki Yönlü Senkronizasyon
- Belirli Dosyaları Hariç Tutma
- Yedekleme Planlama (Cron ile)
- Yedekleme Doğrulama
- Rsync ile Snapshot Yedekleme
- Performans İpuçları
- Rsync vs SCP: Fark Nedir?
- Sonuç
Rsync Nedir?
Rsync (Remote Sync), iki dosya veya dizin arasındaki farkları tespit ederek yalnızca değişen verileri kopyalar. Bu sayede bant genişliğini ve zamanı minimumda kullanır.
Rsync’in Temel Özellikleri
- Fark bazlı dosya transferi (delta-transfer)
- SSH üzerinden güvenli bağlantı desteği
- İzinler, sahiplik ve zaman damgalarının korunması
- Yedekleme ve senkronizasyon için esnek seçenekler
- Otomatik görev planlama (cron) entegrasyonu
Rsync Kurulumu
Rsync, çoğu Linux dağıtımında varsayılan olarak bulunur. Eğer sisteminizde yoksa şu komutlarla kurabilirsiniz:
# Debian/Ubuntu
sudo apt install rsync
# CentOS/RHEL
sudo yum install rsync
Rsync Komutunun Temel Söz Dizimi
rsync [seçenekler] kaynak hedef
Örnek:
rsync -av /home/user/docs/ /mnt/backup/docs/
Bu komut, belirtilen klasörü tüm alt dizinleriyle birlikte hedef dizine senkronize eder.
Yaygın Rsync Parametreleri
| Parametre | Açıklama |
|---|---|
-a |
Arşiv modu (izinler, zaman damgaları, sembolik bağlantılar korunur) |
-v |
Detaylı çıktı (verbose) |
-z |
Veri sıkıştırma (band genişliği tasarrufu sağlar) |
--delete |
Kaynakta silinen dosyaları hedefte de siler |
-e ssh |
SSH üzerinden güvenli transfer sağlar |
Uzak Sunucuya Yedekleme (SSH Üzerinden)
Rsync’in en güçlü özelliklerinden biri, verilerin uzak bir sunucuya güvenli şekilde aktarılabilmesidir.
rsync -avz -e ssh /var/www/ user@remote-server:/backup/www/
Bu komut, yerel /var/www/ klasörünü uzaktaki sunucuda /backup/www/ dizinine senkronize eder.
İki Yönlü Senkronizasyon
Rsync tek yönlü çalışır, ancak karşılıklı eşitleme yapmak için iki komut birlikte kullanılabilir:
# Yerelden uzağa
rsync -av /data/ user@server:/data/
# Uzaktan yere
rsync -av user@server:/data/ /data/
Belirli Dosyaları Hariç Tutma
--exclude parametresiyle yedekleme dışı bırakılacak dosya veya klasörleri belirtebilirsiniz.
rsync -av --exclude='*.log' /var/www/ /backup/www/
Bu komut, “.log” uzantılı dosyaları kopyalama dışı tutar.
Yedekleme Planlama (Cron ile)
Rsync işlemlerini düzenli aralıklarla otomatikleştirmek için cron job oluşturabilirsiniz:
crontab -e
Örnek: Her gece saat 02:00’de yedekleme
0 2 * * * rsync -avz /var/www/ /mnt/backup/www/ >> /var/log/rsync.log 2>&1
Yedekleme Doğrulama
Transfer sonrası dosyaların bütünlüğünü doğrulamak için “checksum” karşılaştırması yapılabilir:
rsync -avc /source/ /destination/
-c parametresi, dosya içeriklerinin hash karşılaştırmasını yapar.
Rsync ile Snapshot Yedekleme
Rsync, hard link yöntemiyle disk alanından tasarruf ederek anlık görüntü (snapshot) yedeklemeleri de oluşturabilir:
rsync -a --link-dest=/backup/previous /data/ /backup/$(date +%F)/
Bu yöntemle yalnızca değişen dosyalar kopyalanır, diğerleri hard link olarak kalır.
Performans İpuçları
- “–partial” parametresi, kesintili transferlerde devam etme olanağı sağlar.
- “–bwlimit=1000” parametresiyle maksimum bant genişliği sınırı koyabilirsiniz.
- Yüksek dosya sayılı ortamlarda “–inplace” parametresi disk alanı kullanımını azaltır.
Rsync vs SCP: Fark Nedir?
- SCP: Her seferinde tüm dosyayı yeniden aktarır.
- Rsync: Sadece değişen bölümleri kopyalar, çok daha hızlıdır.
- Rsync ayrıca yedekleme, senkronizasyon ve hata toleransı için daha gelişmiştir.
Sonuç
Rsync, dosya yedekleme ve senkronizasyon işlemlerinde hem esneklik hem de hız sunan güçlü bir araçtır. Özellikle kurumsal sistemlerde verilerin güvenli bir şekilde yedeklenmesi için vazgeçilmezdir. HostLigo Linux Hosting ve VDS Sunucular üzerinde Rsync tabanlı otomatik yedekleme çözümleriyle verilerinizi her zaman güvende tutabilirsiniz.