rsync là một phần mềm ứng dụng cho UNIX mà hệ thống đồng bộ hóa các file và thư mục từ một vị trí khác trong khi giảm thiểu dữ liệu chuyển giao sử dụng đồng bằng mã hóa khi thích hợp. Một tính năng quan trọng của rsync không tìm thấy ở hầu hết các chương trình tương tự ,giao thức là phản ánh sự diễn ra với chỉ có một truyền trong mỗi hướng. rsync có thể sao chép hoặc hiển thị nội dung thư mục và tập tin sao chép, sử dụng tùy chọn nén và đệ quy.
Trong chế độ daemon, rsync nghe các cổng mặc định TCP của 873, phục vụ các tập tin trong giao thức rsync bản xứ hoặc thông qua một trình bao xa như RSH haySSH. Trong trường hợp thứ hai, khách hàng rsync thực thi phải được cài đặt trên cả hai địa phương và các máy chủ từ xa.
Hành theo GNU General Public License, rsync là phần mềm miễn phí.
2.3.7.1.Thuật Toán
Tiện ích rsync sử dụng một thuật toán (phát minh bởi các lập trình viên máy tính người Úc Andrew Tridgell) cho hiệu quả truyền một cấu trúc (như là một tập tin) qua một liên kết liên lạc khi tiếp nhận máy tính đã có một phiên bản khác nhau của cùng một cấu trúc.
Việc chia tách người nhận bản sao của mình của tập tin vào kích thước không cố định-chunks chồng chéo, kích cỡ S, và tính hai checksums cho mỗi chunk: các bămMD4, và một yếu 'cán checksum'. Nó sẽ gửi các checksums với người gửi. Phiên bản 30 của Nghị định thư (phát hành với rsync phiên bản 3.0.0) bây giờ sử dụng MD5 băm hơn là MD4
Ngươi gửi tính checksum lăn cho mỗi đoạn cỡ trong phiên bản riêng của file, ngay cả khối chồng chéo. Điều này có thể được tính hiệu quả vì một tài sản đặc biệt của checksum lăn: nếu kiểm tra cán của bytenqua n + S - 1 là R, checksum cán của byte n + 1 qua n + S có thể được tính từ R, byte n, và n byte + S mà không cần phải kiểm tra các byte can thiệp. Vì vậy, nếu ta đã tính toán checksum của cán byte 1-25, ta có thể tính toán checksum của cán byte 2-26 chỉ từ kiểm tra trước, và từ byte 1 và 26.
Việc kiểm tra cán được sử dụng trong rsync dựa trên Adler Adler của Mark-32 kiểm tra, được dùng trong zlib, và đó chính là dựa trên checksum Fletcher.
Người gửi sau đó so sánh checksums cán của nó với thiết lập được gửi bởi người nhận để xác định xem có phù hợp với tồn tại. Nếu họ làm, nó xác minh sự phù hợp của
máy tính bảng băm cho khối đối xứng và bằng cách so sánh nó với băm cho khối đó được gửi bởi người nhận.
Người gửi sau đó gửi các bộ phận của người nhận tập tin đó không phù hợp với các khối của người nhận, cùng với thông tin về nơi để nhập các khối vào phiên bản của người nhận. Điều này làm cho các bản sao giống hệt nhau. Tuy nhiên, có một xác suất nhỏ sự khác biệt giữa các khối ở người gửi và recipent không được phát hiện, và vì thế vẫn uncorrected.
Nếu người gửi và người nhận của các phiên bản của tập tin có nhiều phần chung, hữu ích cần chuyển dữ liệu tương đối ít để đồng bộ hóa các file.
Trong khi các thuật toán rsync hình thức trái tim của ứng dụng rsync rằng về cơ bản tối ưu hoá các giao dịch chuyển giữa hai máy tính qua giao thức TCP / IP, các ứng dụng rsync hỗ trợ các tính năng quan trọng khác là viện trợ đáng kể trong giao dịch chuyển dữ liệu hoặc sao lưu. Chúng bao gồm nén và giải nén dữ liệu chặn bởi khối bằng cách sử dụng lúc gửi và nhận kết thúc, tương ứng, và hỗ trợ cho các giao thức như ssh cho phép mã hóa nén và truyền tải dữ liệu hiệu quả sử dụng các thuật toán phân rsync. Thay vì ssh, stunnel cũng có thể được sử dụng để tạo ra một đường hầm được mã hóa để bảo đảm dữ liệu truyền đi.
Cuối cùng, rsync có khả năng giới hạn băng thông tiêu thụ trong quá trình chuyển giao một, một tính năng hữu ích, có vài khác chuẩn giao thức truyền tập tin cung cấp.
2.3.7.2.Sử Dụng
rsync được viết như một sự thay thế cho RCP và scp.Một trong những ứng dụng sớm nhất của rsync đã được thực hiện ánh xạ hay sao lưu cho nhiều khách hàng UNIX lên một máy chủ Unix trung tâm bằng cách sử dụng rsync / ssh và tiêu chuẩn Unix tài khoản. Với một tiện ích lập lịch trình như cron, một thậm chí có thể lên lịch tự động rsync mã hóa dựa trên ánh xạ giữa các máy tính lưu trữ nhiều và một máy chủ trung tâm.