Khi chúng ta sao chép file bằng rsync, bản sao thường có kích thước khác với nguồn. Tại sao?
- Nếu bản sao nhỏ hơn nguồn môt ít, thông thường do khác biệt về kích thước thư mục.
Câu lệnh sau giúp tính kích thước file, không tính thư mục
# echo 'find . -type f -ls | awk '{print $7 "+"}''0 | bc
- Nếu bản sao lớn hơn nguồn 1-10%, nguyên nhân phần lớn do hard links. Mặc định rsync (ngay cả với option
-a/--archive
) không bảo toàn hard links. Rsync 2 hard links có thể tạo ra gấp đôi file giống nhau ở target.
Có thể tránh điều này với option-H/--hard-links
- Nếu bản sao >10% so với nguồn, nguyên nhân là sparse files. Rsync mặc định không ghi sparse files nhưng vẫn cấp chổ.
Dùng option--sparse
để rsync không cấp chổ cho các chưổi null. - Nguyên nhân cũng có thể do khác nhau về kiểu hệ thống file, block sizes, file slack overhead…