Có một vài lý do tại sao có thể có, hoặc người ta có thể thấy, sự khác biệt về kích thước được báo cáo.
Các kích thước được báo cáo tùy thuộc vào lệnh bạn sử dụng và những gì được đo cụ thể. Hơn nữa, không gian được sử dụng bởi tệp có thể phụ thuộc vào hệ thống tệp và các tùy chọn định dạng được sử dụng để định dạng ổ đĩa. Hệ thống tệp Linux cũng hỗ trợ tập tin thưa thớt. Điều đó có nghĩa là các phần của tệp (ví dụ: tệp nhị phân) trống không được lưu trữ vật lý trên đĩa. Do đó, kích thước vật lý của tệp trên đĩa (như được báo cáo bởi du
) nhỏ hơn kích thước tệp logic của nó (như được báo cáo bởi du --apparent-size
hoặc ls
).
Một yếu tố khác có thể gây ra kích thước của một rsync
sao chép khác nhau là sự hiện diện của các liên kết cứng. Theo mặc định, các liên kết cứng, tức là các tệp khác nhau trỏ đến cùng một thông tin trên đĩa, sẽ được sao chép dưới dạng các tệp riêng biệt, do đó chiếm gấp đôi dung lượng.
Tuy nhiên, một nguyên nhân khác có thể gây ra sự khác biệt về kích thước là bạn đã lặp lại quá trình sao lưu. Theo mặc định, rsync
sẽ bảo tồn các tệp trên bản sao có thể đã bị xóa trong nguồn. Người ta phải thêm --xóa bỏ
tùy chọn để xóa các tệp này trên targer.
Hai lý do sau sẽ dẫn đến thư mục đích lớn hơn thư mục nguồn, vì vậy đây sẽ không phải là lời giải thích trong trường hợp hiện tại của bạn.
rsync
là một công cụ rất đáng tin cậy và các thuật toán so sánh tệp của nó rất mạnh mẽ. Nó so sánh các tệp dựa trên dấu thời gian và kích thước byte (kích thước logic) của tệp. Như vậy, nếu rsync
báo cáo không cần chuyển thêm tệp nào nữa, thì bạn có thể tin tưởng vào điều đó.