Câu trả lời:
Tôi nghĩ rằng sự khác biệt lớn ở đây là nếu bạn đang sử dụng rsyncd
trên máy chủ kết thúc, thay vì rsync
qua ssh
, máy chủ đã biết những gì nó có, vì vậy việc xây dựng danh sách tập tin để xác định những gì cần phải được chuyển giao là đơn giản hơn nhiều. Sẽ không có gì khác biệt nếu bạn chỉ xoay quanh một vài tệp, nhưng nếu bạn đang tạo, chẳng hạn, CPAN có sẵn trên rsync, bạn không muốn phải tạo danh sách tệp ở phía nguồn mỗi thời gian.
Đây là một câu hỏi cũ, nhưng có một lý do rất hợp lệ khác để sử dụng rsync
trong chế độ daemon so với trên ssh:
Tôi có một NAS 10 TB được sao lưu vào một NAS 10 TB khác và chi phí mã hóa cho đường hầm SSH là yếu tố giới hạn cho việc chuyển tiền. Cả hai NAS đều là các Nguyên tử Intel 1.8 Ghz có công suất khá thấp và thậm chí với các tùy chọn mã hóa dễ dàng hơn cho ssh (ví dụ như ssh -c arcfour
được gọi là ssh gọi rsync), chi phí mã hóa vẫn đạt kết quả tốt nhất 200-300 Mbps, trên mạng ethernet gigabit.
Sử dụng trình nền rsync ở một đầu sẽ loại bỏ chi phí tiền điện tử và đạt được> 800 Mbps chuyển cho các tệp lớn, liền kề.
ssh -c arcfour
kết nối tôi đang sử dụng.
Tôi không nghĩ việc so sánh việc chạy rsyncd với rsync qua SSH có ý nghĩa nhiều. Chúng thường được sử dụng cho những thứ hoàn toàn khác nhau.
rsync trên ssh thường được sử dụng để sao lưu hoặc đồng bộ hóa máy chủ qua internet. rsyncd thường được sử dụng cho những thứ như gương phần mềm, vì vậy sẽ hợp lý hơn khi so sánh rsyncd với máy nhân bản HTTP hoặc FTP đơn giản hoặc thậm chí là bittorrent.
Ngoài ra còn có phần mềm như zsync, cho phép bạn nhận được nhiều lợi ích của rsync trong khi vẫn sử dụng máy chủ HTTP tiêu chuẩn
Chức năng của rsyncd
là chạy trên máy chủ và đáp ứng các rsync
yêu cầu (từ xa) .
(khi chúng tôi nói rsyncd
chúng tôi có nghĩa là rsync
chạy như một daemon và khi chúng tôi nói 'từ xa', chúng tôi có nghĩa là từ xa theo quan điểm của máy đang chạy rsyncd
)
Cả hai sẽ sử dụng ssh để nói chuyện với nhau một cách an toàn.
Đây thực sự không phải là một câu hỏi về việc sử dụng cái này hay cái kia, mặc dù nếu rsync
được sử dụng để sao chép các tập tin và thư mục trên cùng một máy , tôi không nghĩ rằng nó cần phải chạy như một daemon.
Tôi nghĩ rằng rsync
trang người đàn ông làm rõ điều này.
rsyncd (rsyncd với daemon) sử dụng theo cổng mặc định 873.
Điều này sẽ sử dụng giao thức rsync gốc, nhưng không mã hóa bất cứ thứ gì. Nó chỉ có nghĩa là cho các mạng cục bộ hoặc đáng tin cậy.
Nếu bạn muốn bảo mật, bạn luôn phải sử dụng rsync hoặc rsyncd qua SSH, tất cả các giao dịch chuyển dữ liệu của bạn sẽ được giao thức ssh nhập vào.