Câu trả lời:
Nhiều, nhưng tôi sẽ trích dẫn một vài cái trên đỉnh đầu của tôi.
Điều gì xảy ra nếu ssh / rsh không có sẵn trên máy chủ từ xa hoặc nếu chúng bị hỏng về mặt cấu hình hoặc quy tắc mạng chặt chẽ hơn? Sử dụng rsh / ssh vẫn sẽ yêu cầu máy khách (phụ thuộc vào vai trò của người gửi hoặc người nhận), phía từ xa sẽ phải chia rẽ nhị phân rsync cục bộ và thiết lập kết nối với quá trình rsync chạy ở phía cục bộ. rsh / ssh sẽ chỉ cung cấp một đường hầm kết nối; theo như rsync, rsync đang liên lạc với quá trình rsync khác qua (các) đường ống.
Có một quy trình rsync chế độ daemon sẽ làm cho máy chủ trở thành một máy chủ giống hệt ftp thực sự nơi một số hệ thống tệp có thể được cung cấp thông qua các mô-đun rsync. Mọi thứ khác có thể tránh được. Nói rằng tôi muốn chỉ cung cấp / usr / local và / var để tải xuống và từ chối mọi yêu cầu của khách hàng rsync đối với các bản tải xuống khác. Tôi có thể sử dụng tùy ý ở cấp máy chủ hoặc ở cấp hệ thống tệp (mô-đun) để cho phép tải lên hoặc tải xuống (chỉ đọc).
Có thể kiểm soát các mô-đun truy cập, xác thực, ủy quyền, ghi nhật ký và hệ thống tệp (cấu trúc) để tải xuống / tải lên cụ thể thông qua tệp cấu hình. Mỗi lần thay đổi được thực hiện đối với tệp cấu hình, rsyncd --daemon
không cần phải khởi động lại hoặc HUPped
. Cũng có thể kiểm soát số lượng khách hàng có thể kết nối với quy trình máy chủ rsync tại một thời điểm. Điều này là tốt, vì tôi không muốn quá trình máy chủ rsyncd của mình xử lý hoàn toàn máy chủ qua các hoạt động I / O dựa trên CPU hoặc đĩa.
chức năng chroot có thể được cung cấp thông qua cấu hình cho rsyncd ở chế độ daemon. Tôi có thể sử dụng tính năng này như một tính năng bảo mật khá gọn gàng nếu tôi muốn tránh các máy khách kết nối với rsyncd của mình cho bất kỳ tệp / hệ thống tệp nào phải được bảo mật trên máy chủ và không nên có quyền truy cập bên ngoài.
Tôi có thể từ chối hoàn toàn một số tùy chọn được sử dụng bởi ứng dụng khách rsync và không giải trí ở cuối máy chủ, chẳng hạn như không cho phép --delete
tùy chọn.
Có thể có một tùy chọn để chạy một số lệnh / tập lệnh trước và sau quá trình rsync. Một ví dụ sẽ là báo cáo và lưu trữ số liệu thống kê rsync ở chế độ sau chuyển.
Đây là một số trong số họ, nhưng tôi chắc chắn rằng những người dùng chuyên gia về rsync có thể làm sáng tỏ hơn về điều này.
Tôi gặp sự cố khi cố gắng đồng bộ hóa một thư mục lớn giữa máy linux và máy windows bằng cygwin. Sau khi bỏ đường hầm SSH để sử dụng daemon rsync, các vấn đề của tôi đã biến mất.
Khách hàng không cần biết cách bố trí hệ thống tập tin, v.v. của máy chủ mà anh ấy / cô ấy đang đẩy / kéo đến / từ
rsync
sử dụng SSH là gì?
Một cách sử dụng phổ biến cho rsync là phản chiếu các tệp lưu trữ công khai. Nhà điều hành của bản sao chính không muốn cho phép truy cập shell từ xa vào kho lưu trữ, nhưng muốn các tình nguyện viên chạy các gương từ xa có thể có được một bản sao hoàn chỉnh của tài liệu lưu trữ. Rsync hoạt động rất tốt để tạo bản sao vì nó sẽ chỉ tải xuống các bit đã thay đổi và nếu có sự gián đoạn nhỏ trong mạng, nó sẽ không tải lại toàn bộ tệp lớn (hình ảnh cd / dvd).
Giao thức torrent bit thực sự có thể là một lựa chọn tốt hơn cho việc này bây giờ, nhưng rsync đã được phát hành nhiều năm trước đó.
Ngay cả bây giờ nhiều tài liệu lưu trữ lớn vẫn sử dụng rsync cho gương.
Xem: http://www.debian.org/mirror/ftpmirror
Giao thức phản chiếu mà chúng tôi khuyên dùng là rsync.
Bạn có thể cung cấp dịch vụ rsync cho extranet và cho phép đồng bộ hóa theo cách đó mà không phải lộ ssh.
Trong chế độ daemon, rsync sẽ dễ dàng tính toán tổng kiểm tra cục bộ nhanh hơn và do đó sẽ tốt hơn nếu bạn mong đợi nhiều máy khách song song. Với tổng kiểm tra độc lập cần phải được tính toán lại cho mỗi phiên.
SSH cung cấp chi phí do sử dụng mã hóa. Vì vậy, về lý thuyết, bạn sẽ nhận được thông lượng cao hơn với trình nền máy chủ rsync.