Odpowiedzi:
Myślę, że duża różnica jest taka, że jeśli używasz rsyncd
na stronie serwera, zamiast rsync
na ssh
serwer już wie, co to jest, więc budowanie listy plików do określenia tego, co powinno być przenoszone jest znacznie prostsze. Nie będzie to miało znaczenia, jeśli przesuniesz tylko kilka plików, ale jeśli udostępniasz na przykład CPAN przez rsync, nie musisz budować listy plików po stronie źródłowej co czas.
To stare pytanie, ale jest jeszcze jeden bardzo ważny powód, aby używać rsync
w trybie demona w porównaniu z ssh:
Mam jeden serwer NAS o pojemności 10 TB, którego kopię zapasową utworzono na innym serwerze NAS o pojemności 10 TB, a narzut związany z szyfrowaniem tylko dla tunelu SSH jest czynnikiem ograniczającym transfer. Oba NAS są dość słabo zasilane 1,8 GHz Atomy Intel, i nawet przy łatwiejszych opcjach szyfrowania dla ssh (np. ssh -c arcfour
Przekazanych jako wywołanie ssh do rsync), narzut szyfrowania nadal zapewnia co najwyżej 200-300 Mbps, w gigabitowej sieci Ethernet.
Użycie demona rsync na jednym końcu usuwa narzut kryptograficzny i osiąga transfer> 800 Mbps dla dużych, ciągłych plików.
ssh -c arcfour
Korzystam z podobnej konfiguracji i byłem w stanie podwoić prędkość transferu, którą uzyskiwałem z połączenia, z którego korzystałem.
Nie sądzę, aby porównywanie uruchamiania rsyncd z rsync przez SSH miało sens. Są one zwykle używane do zupełnie różnych rzeczy.
rsync przez ssh jest zwykle używany do tworzenia kopii zapasowych lub synchronizacji serwerów przez Internet. rsyncd jest zwykle używany do takich rzeczy jak lustra programowe, więc sensowniejsze jest porównywanie rsyncd ze zwykłym lustrem HTTP lub FTP, a nawet bittorrent.
Istnieje również oprogramowanie takie jak zsync, które pozwala uzyskać wiele korzyści rsync przy jednoczesnym korzystaniu ze standardowego serwera HTTP
Funkcją rsyncd
jest uruchamianie na serwerze i odpowiadanie na (zdalne) rsync
żądania.
(kiedy mówimy, że rsyncd
mamy na myśli rsync
działanie jako demon, a kiedy mówimy „zdalny”, mamy na myśli zdalny z punktu widzenia uruchomionej maszyny rsyncd
)
Oba używają ssh, aby bezpiecznie ze sobą rozmawiać.
Tak naprawdę nie jest to kwestia używania jednego lub drugiego, chociaż jeśli rsync
jest używany do kopiowania plików i katalogów na tym samym komputerze , nie sądzę, że musi działać jako demon.
Myślę, że rsync
strona podręcznika wyjaśnia to.
rsyncd (rsyncd z demonem) domyślnie używa portu 873.
Spowoduje to użycie natywnego protokołu rsync, ale niczego nie szyfruje. Jest przeznaczony tylko dla sieci lokalnych lub zaufanych.
Jeśli chcesz bezpieczeństwa, zawsze musisz używać rsync lub rsyncd przez SSH, wszystkie twoje transfery danych będą przechwycone przez protokół ssh.