Sunucuda Dosya Senkronizasyonu: rsync, lsyncd, Unison ve Pratik Senaryolar

Sunucuda Dosya Senkronizasyonu: rsync, lsyncd, Unison ve Pratik Senaryolar - Corelux
8 Nis 2026
Paylaş:

Sunucuda Dosya Senkronizasyonu: rsync, lsyncd, Unison ve Pratik Senaryolar

Son Güncelleme: Mart 2026

Dosya senkronizasyonu sunucu yönetiminde hem yüksek erişilebilirlik hem de yedekleme (backup) süreçleri için kritik bir rol oynar. Bu makalede rsync, lsyncd ve Unison araçlarının farkları, kullanım senaryoları, yapılandırma örnekleri ve güvenlik-depolama en iyi uygulamaları ele alınacaktır.

İçindekiler

rsync Nedir?

rsync, dosya ve dizinleri yerel veya uzak sistemler arasında verimli şekilde kopyalamak ve güncellemek için kullanılan bir komut satırı aracıdır. rsync; delta-transfer (yalnızca değişen blokları aktarma) ve sıkıştırma desteği ile bant genişliği tasarrufu sağlar. Linux/Unix tabanlı sistemlerde yaygın olarak kullanılır.

Temel Özellikler

  • Verimlilik: Değişen blokların taşınmasıyla düşük veri transferi.
  • Ağ Üzerinden Çalışma: SSH tüneli ile güvenli aktarım.
  • Adil Yetki: Dosya izinleri, zaman damgaları ve sahiplikleri koruma.

Basit rsync Komutu

rsync -avz --delete /var/www/ user@backup.example.com:/backups/www/

Bu komut -a (archive), -v (verbose), -z (compress) parametreleriyle kaynak klasörü uzaktaki hedefe senkronize eder ve hedefde kaynakta olmayan dosyaları siler (--delete).

lsyncd Nedir?

lsyncd (Live Syncing Daemon), dosya değişikliklerini izleyerek hızlı şekilde rsync veya diğer komutlar aracılığıyla anlık (near-real-time) senkronizasyon yapar. Büyük dosya sistemleri veya web içeriği için etkin bir replikasyon çözümüdür.

Temel Özellikler

  • Inotify/FSWatcher: Dosya sistemi olaylarını izleyerek tetikleme.
  • Gruplama: Çok sayıda değişikliği toplu işleyerek aşırı yüklenmeyi önleme.
  • Esneklik: rsync, scp veya özel betikler ile entegrasyon.

Örnek lsyncd Konfigürasyonu

settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status",
    inotifyMode = "CloseWrite or Modify"
}

sync {
    default.rsync,
    source = "/var/www/",
    target = "user@backup.example.com:/backups/www/",
    rsync = { archive = true, compress = true, verbose = true }
}

Unison Nedir?

Unison, iki yönlü (bidirectional) senkronizasyon sağlayan, çakışma çözümü (conflict resolution) yetenekleri olan bir araçtır. Hem yerel hem de uzak dizinleri senkronize edebilir. rsync tek yönlü senkronizasyon için idealken, Unison eş zamanlı düzenlemelerin olduğu senaryolarda tercih edilir.

Temel Özellikler

  • İki Yönlü Senkronizasyon: Her iki taraftaki değişiklikleri karşılaştırır ve birleştirir.
  • Çakışma Yönetimi: Çakışmaları kullanıcıya sorarak veya kurala göre çözer.
  • Platformlar Arası: Linux, macOS ve Windows destekleri mevcuttur.

Unison Örnek Kullanımı

unison /home/user/project ssh://backup.example.com//home/user/project -auto -batch

-auto ve -batch seçenekleri çakışmaları otomatik çözme eğilimindedir; üretim ortamında dikkatli kullanılmalıdır.

Senkronizasyon Mimarileri

İhtiyaca göre farklı mimariler seçilebilir. Aşağıda sık kullanılan üç mimari açıklanmıştır.

  1. Master-Slave (Tek Yönlü Replikasyon): Ana sunucudan (master) yedek sunucuya (slave) veri aktarılır. Web içeriği dağıtımı ve yedeklemelerde yaygındır.
  2. Active-Active (Çift Yönlü Replikasyon): İki veya daha fazla düğümde hem okuma hem yazma vardır; tutarlılık mekanizmaları gerekir. Unison veya veritabanı replikasyon çözümleriyle kullanılır.
  3. Push vs Pull: Push mimarilerinde kaynak değişikliği hedefe gönderir (lsyncd/rsync push), pull mimarisinde hedef düzenli aralıklarla kaynaktan çeker (cron+rsync pull).

Araç Karşılaştırması

Özellik rsync lsyncd Unison
Senkr. Tipi Tek yönlü Tek yönlü, near-real-time Çift yönlü
Ağ Verimliliği Yüksek (delta-transfer) Yüksek (rsync aracı kullanır) İyi, değişimleri karşılaştırır
Çakışma Yönetimi Yok (manuel çözüm gerekir) Yok (rsync ile aynıdır) Var (kullanıcı müdahalesi/kurallar)
Gerçek Zamanlık Hayır (cron ile kısa aralık sağlanır) Evet (inotify tabanlı) Kısıtlı (manuel tetikleme veya sürekli çalıştırma)
Örnek Kullanım Yedekleme, tek yönlü replikasyon Web içeriği eş zamanlama Çoklu kullanıcı düzenleme ortamları

Kurulum ve Kullanım Örnekleri

Aşağıda üç aracın pratik kurulum ve kullanımı yer almaktadır. Örnekler Ubuntu/Debian tabanlı dağıtımlar içindir; diğer dağıtımlarda paket yöneticisi farkı olacaktır.

rsync ile Günlük Yedekleme (cron)

# /etc/cron.daily/rsync-backup
rsync -az --delete /var/www/ backup@backup.example.com:/backups/www/ >> /var/log/rsync/backup.log 2>&1

Bu örnek günlük yedekleme sağlar. --delete kullanımı hedefin kaynakla birebir eşleşmesini sağlar, dikkatli planlayın.

lsyncd ile Anlık İçerik Replikasyonu

lsyncd kurulduktan sonra yukarıdaki konfigürasyon dosyasıyla servisi başlatın:

sudo apt install lsyncd
sudo systemctl enable --now lsyncd

lsyncd, /var/www/ içindeki değişiklikleri tespit edip rsync ile hedefe gönderir. Bu yöntem özellikle CDN öncesi orijin sunucu eşitlemesi için uygundur.

Unison ile İki Yönlü Çalışma

İki yönlü çalışma gereken durumlarda (ör. geliştirici bilgisayarı ile sunucu arasında dosya senkronu) Unison tercih edilir:

sudo apt install unison
unison default -auto -batch

Unison profil dosyalarında hangi yolların eşleneceği ve davranış kuralları (ignore list, prefer parametreleri) tanımlanır.

Güvenlik ve Yedekleme İpuçları

Dosya senkronizasyonu planlarken dikkat edilmesi gerekenler:

  • SSH Anahtar Yönetimi: Özellikle rsync/lsyncd ile SSH anahtar tabanlı kimlik doğrulama kullanın ve authorized_keys dosyasında uygun komut ve kısıtlamalar ekleyin.
  • Yetki Ayrımı: Senkronizasyon işlemleri için ayrı kullanıcı hesabı (service account) kullanın; root ile doğrudan çalıştırmayın.
  • Şifreleme: Ağ üzerinde veri aktarımı için her zaman SSH veya TLS tüneli kullanın.
  • Geri Dönüş (Rollback): Senkronizasyon öncesi hedefte snapshot veya zamanlanmış yedek (ör. LVM snapshot, ZFS snapshot) tutarak yanlış senkronlarda geri dönüş sağlayın. Corelux'un Yedekleme Hizmeti bu konuda yardımcı olabilir.
  • Audit (Kayıt) ve İzleme: rsync/lsyncd loglarını merkezi bir log sunucusuna gönderin ve değişiklikleri izleyin.

Ayrıca, yük dengeleme veya çoklu sunucu dağıtımlarında senkronizasyonu planlarken, taşıma gecikmesi (latency) ve dosya kilitlenmeleri (file locking) göz önünde bulundurulmalıdır. Eğer VPS/VDS altyapısında çalışıyorsanız Corelux'un Türkiye VPS Sunucu veya yüksek performans gerektiren durumlarda Bulut Sunucu çözümlerini inceleyebilirsiniz.

Sıkça Sorulan Sorular

Hangi araç daha hızlıdır: rsync mi yoksa lsyncd mi?

rsync tek seferlik veya zamanlanmış görevlerde hızlı ve verimliyken, lsyncd inotify temelli sürekli izleme sayesinde near-real-time (yakın gerçek zamanlı) replike etme avantajı sağlar. Performans ihtiyacına göre seçim yapın.

Unison neden tercih edilir?

Unison, iki taraflı düzenlemelerin sık olduğu ortamlar için çakışma çözümü sunar. Geliştirici-masaüstü ile sunucu arasındaki çift yönlü senkronizasyon için uygundur.

rsync ile dosya silme riskini nasıl azaltırım?

--delete parametresi tehlikeli olabilir. Önce --dry-run ile test edin:

rsync -avz --dry-run --delete /var/www/ backup:/backups/www/
Ayrıca hedefte snapshot veya yedek tutmak iyi pratiktir.

lsyncd çok fazla CPU tüketirse ne yapmalıyım?

lsyncd konfigürasyonunda delay veya batching parametrelerini kullanarak olayları gruplayın. Ağ veya disk darboğazı varsa rsync parametreleriyle throttling (örn. --bwlimit) uygulayın.

Büyük dosyalar için en iyi yaklaşım nedir?

Büyük dosyalar için delta-transfer etkisi azalır; mümkünse dosyaları chunk'lara bölün, veya büyük dosyaları nesne depolama (object storage) kullanarak yönetin. Ayrıca transfer zamanlarını düşük trafikli saatlere planlayın.

Sonuç

Sunucuda dosya senkronizasyonu doğru araç ve mimari seçimiyle hem performans hem de veri bütünlüğü sağlar. Tek yönlü yedekleme için rsync, anlık replikasyon için lsyncd, iki yönlü düzenlemeler için ise Unison tercih edilebilir. Her durumda SSH anahtar yönetimi, yetki ayrımı ve snapshot tabanlı geri dönüş stratejileri uygulayın.

Corelux olarak, senkronizasyon ve yedekleme ihtiyaçlarınız için ölçeklenebilir Türkiye VPS Sunucu, yüksek performanslı Bulut Sunucu ve profesyonel Yedekleme Hizmeti çözümlerimiz ile yardımcı oluyoruz. İhtiyacınıza uygun planlama için destek ekibimizle iletişime geçebilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp