Daemon modunda rsync sunucusu için ihtiyaç nedir


29

Daemon modunda bir rsync sunucusuna olan ihtiyacı anlamıyorum. SSH veya telnet ile rsync kullanabilirsem ne faydası var?

Yanıtlar:


22

Çok ama başımın üstünden birkaç alıntı yapacağım.

  1. Uzak sunucuda ssh / rsh bulunmuyorsa veya yapılandırma veya daha katı ağ kuralları açısından ihlal edilirlerse ne olur? Rsh / ssh kullanmak hala istemciye ihtiyaç duyacaktır (gönderen veya alıcı rolüne göre değişebilir), uzak tarafın yerel olarak rsync ikilisini çatallaması ve yerel tarafta çalışan rsync işlemi ile bağlantı kurması gerekir. rsh / ssh sadece bir bağlantı tüneli sağlar; rsync söz konusu olduğunda, rsync, boru (lar) üzerindeki diğer rsync işlemiyle iletişim kuruyor.

  2. Daemon mode rsync işlemine sahip olmak, sunucuyu bazı dosya sistemlerinin rsync modülleri aracılığıyla kullanılabileceği gerçek bir ftp benzeri sunucuya dönüştürür. Her şeyden kaçınılabilir. Sadece herhangi bir rsync istemcisinin diğer indirme isteklerini indirmek ve reddetmek için sadece / usr / local ve / var olarak kullanmak istiyorum. Yükleme veya indirme işlemine izin vermek için ana bilgisayar düzeyinde veya dosya sistemi (modüller) düzeyinde takdir yetkisini kullanabilirim (salt okunur).

  3. Özel olarak bir yapılandırma dosyası aracılığıyla indirmek / yüklemek için ana bilgisayar / kullanıcı düzeyinde erişim, kimlik doğrulama, yetkilendirme, kayıt ve dosya sistemi (yapı) modüllerini kontrol edebilir. Yapılandırma dosyasında her değişiklik yapıldığında, rsyncd --daemonyeniden başlatılması gerekmez veya HUPped. Aynı anda kaç istemcinin rsync sunucu işlemine bağlanabileceğini de kontrol edebilir. Bu iyi, çünkü rsyncd sunucu işlemimin ana bilgisayarı CPU veya disk tabanlı I / O işlemleri üzerinden tamamen aşağıya çekmesini istemiyorum.

  4. chroot işlevi, daemon modunda rsyncd'nin yapılandırmasıyla kullanılabilir. Ana bilgisayar üzerinde güvenli olması gereken ve dış erişime sahip olmamam gereken herhangi bir dosya / dosya sistemi için rsyncd'ime bağlanmak istemeyen istemcilerden uzak durmak istersem bunu oldukça temiz bir güvenlik özelliği olarak kullanabilirim.

  5. Rsync istemcisi tarafından kullanılan seçeneklerin bazılarını inkar edebilir ve --deleteseçeneğe izin vermemek gibi sunucu sonunda eğlendiremem .

  6. Rsync işleminden önce ve sonra bazı komutları / komut dosyalarını çalıştırma seçeneği olabilir. Bir örnek, rsync istatistiklerini transfer sonrası modda raporlama ve kaydetme olabilir.

Bunlardan bazıları, ancak eminim rsync'in uzman kullanıcıları bu konuya daha fazla ışık tutabilir.


8
  1. Cygwin'i kullanarak linux makinesi ve windows makinesi arasında büyük bir klasörü senkronize etmeye çalışırken bir sorunla karşılaştım. SSH tünelini rsync daemon'unu kullanmak için düşürdükten sonra sorunlarım çözüldü.

  2. İstemcinin, ittiği / çektiği sunucunun dosya sistemi düzenini vb. Bilmesi gerekmez.


1
# 2 için +1. Ayna ağlar gibi durumlar yüksek oranda dağınık olmaları nedeniyle belirsizlik yaratır, bu nedenle alakasız yerel kararları ağın işleyişinden ayırmak güzeldir.
Warren Young,

@tim Cygwin'de yaşadığınız ve rsyncSSH'yi kullanırken yaşadığınız sorun neydi ?
Daniel Sokolowski

3

Rsync için yaygın bir kullanım, dosyaların genel arşivlerini yansıtmaktır. Birincil kopyanın operatörü, uzak kabuğun arşive erişmesine izin vermek istemez, ancak uzak aynaları çalıştıran gönüllülerin arşivlerin tam bir kopyasını etkin bir şekilde alabilmelerini ister. Rsync, yalnızca değiştirilen bitleri indireceği için bir ayna oluşturmak için son derece iyi çalışır ve ağda küçük bir kesinti olursa, büyük bir dosyayı (cd / dvd görüntüleri) yeniden indirmez.

Bit torrent protokolü aslında bunun için daha iyi bir seçim olabilir, ancak rsync yıllar önce piyasaya sürüldü.

Şimdi bile birçok büyük arşiv hala aynalar için rsync kullanıyor.

Bkz .: http://www.debian.org/mirror/ftpmirror

Önerdiğimiz yansıtma protokolü rsync'dir.


Bu tür bir uygulama için ayrıca zsync'e de bakın - bu, rsync'e benzer ancak sunucudaki tüm istemcide çok çalışır. Sunucu sadece önceden hesaplanmış bir karma listesine ihtiyaç duyar.
rjmunro

1

Bir extranete rsync-hizmetleri sağlayabilir ve ssh'yi göstermek zorunda kalmadan bu şekilde senkronizasyonlara izin verebilirsiniz.

Daemon modunda rsync, yerel sağlama toplamlarını daha hızlı bir şekilde hesaplar ve bu nedenle birden fazla paralel istemci beklediğinizde daha iyi bir süittir. Bağımsız komut ile sağlama toplamları her oturum için yeniden hesaplanmalıdır.


0

SSH, örneğin şifreleme kullanımı nedeniyle ek yük verir. Yani teoride bir rsync server daemon ile daha yüksek verim elde etmelisiniz.


2
Bunun için sizi küçümsemem, çünkü evet, şifrelemenin genel olarak önemli olduğu teorik bir ağ var. Sanırım bunu ölçüp ölçmeyeceğinizi göreceksiniz, belki de ilk kilit müzakere aşaması dışında, gerçek ağlarda önemsiz olduğu. Paketler akarken, şifreleme süresi ağ gecikmesi ile yutulur.
Warren Young,

@WarrenYoung Büyük bir boru üzerinde halka açık bir rsync sunucusu barındıran yaşlı makine.
Gilles 'SO- kötülük'

1
@Gilles - Bir makine boruyu tam tutmak için yeterince hızlı şifreleyemeyecek kadar yavaş bir makine muhtemelen önce disk bant genişliği sorunlarına neden olur. Alt satırda ölçümleri görmek istiyorum. Birisi ölçüm yayınlamadan önce, aktarım boyutunun iki katına çıkmayı ve ölçtüğünüz herhangi bir etkinin de iki katına çıkmasını sağlayın. Olmazsa, önünü vereceğim kilit müzakere sayıyorsunuz, ölçülebilir zaman alıyor.
Warren Young,

Bu durumda, paralel senkronizasyon, GNU paralelinde daha iyi bir seçenek olacaktır.
Nikhil Mulley
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.