Bài viết này có một số gợi ý hữu ích cho rsync
ít nhất:
Các vấn đề
Sử dụng rsync --sparse works
, nhưng gây ra một lượng lớn đĩa ghi không cần thiết. Thay đổi 10 byte trên 50 GB dài (sử dụng 1GB) chỉ khiến một hoặc hai khối được viết, điều này khiến 1GB bị ghi. Điều này là chậm và có thể không tốt cho tuổi thọ của đĩa.
Sử dụng rsync --inplace
các tác phẩm, nhưng tạo ra các tệp không thưa thớt.
Bạn không thể sử dụng --spzzy và --inplace cùng một lúc :-( điều này không được phép bởi rsync. Rsync: --spzzy không thể được sử dụng với --inplace
Giải pháp
Nếu bạn sử dụng --inplace để cập nhật một tệp thưa thớt có sẵn, tệp sẽ vẫn còn thưa thớt và chỉ có một số lượng nhỏ các khối được viết. Chỉ khi rsync --inplace tạo một tệp mà nó làm cho nó không thưa thớt.
Vì vậy, giải pháp là tạo một tệp tương ứng, có độ dài chính xác, trống, thưa thớt trên máy đích cho mọi tệp trên máy nguồn - nếu tệp chưa xuất hiện trên máy đích.
Sau đó, rsync --inplace sẽ hoạt động như dự định, để lại các tệp thưa thớt và chỉ ghi các khối đã thay đổi vào đĩa.
Vì vậy, nếu tôi đọc chính xác, trước tiên bạn muốn tạo một tệp thưa thớt trống rỗng trên mục tiêu. Bạn có thể làm điều này với
truncate -s 3G filename
Sau đó bạn có thể sử dụng rsync --inplace
để sao chép các tập tin qua. Điều này chỉ cần thiết một lần.
Các bài viết cùng gợi ý sử dụng Virtsync đó là
một công cụ dòng lệnh Linux thương mại $ 49 để đồng bộ hóa nội dung của các tệp lớn (như hình ảnh và cơ sở dữ liệu đĩa máy ảo).
Đây có thể là giải pháp tốt nhất nếu bạn sẵn sàng trả tiền vì nó dường như được viết riêng cho loại tình huống này.