Tôi sử dụng Unison để thực hiện loại đồng bộ hóa này. Nó được xây dựng trên đầu rsync
giao thức. Trong số các sử dụng khác, tôi giữ các thư mục tài liệu của mình đồng bộ giữa Windows và Linux. Thay đổi xung đột cần được xử lý thủ công, nhưng việc xóa được xử lý thông minh.
Lần chạy đầu tiên sẽ mất một lúc, sau đó chỉ cần xử lý các thay đổi.
EDIT: Tôi đọc sai yêu cầu ban đầu của bạn. Theo tôi, đây là một yêu cầu kỳ lạ, trừ khi vì một lý do nào đó bạn có các tệp bạn muốn di động trên một ổ đĩa lớn hơn và các tệp bạn không muốn di động trên một ổ đĩa khác. Không có không gian trung gian cũng lạ.
Nếu các tệp trên một trong hai đĩa có thể nén được, thì việc tạo một tệp lưu trữ nén (zip, tar, v.v.) của một ổ đĩa vào hệ thống của bạn, di chuyển các tệp giữa các ổ đĩa, sau đó khôi phục kho lưu trữ ban đầu sang ổ đĩa khác sẽ hoạt động. Ngoài ra, nén tệp trên cả hai đĩa bằng gzip. Di chuyển tập tin qua lại và giải nén.
Nếu bạn muốn di chuyển tệp đến A, di chuyển tệp sang B, di chuyển tệp sang A ... thì chỉ rsync
với quy tắc tìm có thể làm những gì bạn cần. Một kịch bản shell nhỏ xung quanh nó để chuyển hướng trên mỗi đường chuyền sẽ được yêu cầu. Các thư mục trên cả hai hệ thống sẽ cần phải khác nhau. Bạn có thể phải sắp xếp lại / đổi tên thư mục để di chuyển.