Yanıtlar:
Çok ama başımın üstünden birkaç alıntı yapacağım.
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.
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).
Ö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 --daemon
yeniden 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.
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.
Rsync istemcisi tarafından kullanılan seçeneklerin bazılarını inkar edebilir ve --delete
seçeneğe izin vermemek gibi sunucu sonunda eğlendiremem .
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.
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ü.
İstemcinin, ittiği / çektiği sunucunun dosya sistemi düzenini vb. Bilmesi gerekmez.
rsync
SSH'yi kullanırken yaşadığınız sorun neydi ?
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.
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.
SSH, örneğin şifreleme kullanımı nedeniyle ek yük verir. Yani teoride bir rsync server daemon ile daha yüksek verim elde etmelisiniz.