我找到了一个较旧的外部硬盘,我想将其重新用于其他用途。我正在将其同步到通过网络运行的 NAS,但需要很长时间。
所以我决定先rsync到我的本地驱动器(SSD),然后再做最后的备份到NAS。
我跑了rsync -avvz --progress /media/ubuntu/9AB4-7DB9/ubuntu/ bak
。这似乎已经结束了。
但是当我比较两个目录的大小时,它们有很大不同。
du -kh bak
29G bak
du -kh /media/ubuntu/9AB4-7DB9/ubuntu/
56G /media/ubuntu/9AB4-7DB9/ubuntu/
这怎么可能?我一开始以为是vfat
文件系统的问题——但到了这个程度?我不敢相信它的大小几乎翻了一番
我还认为这可能是-z
的压缩选项rsync
,但据我了解,它应该只在传输过程中压缩:
-z, --compress compress file data during the transfer
有任何想法吗?我很困惑,只是想确保我的备份是否完整。谢谢,
答案1
du 命令以块而不是字节为单位测量文件大小。由于 vfat 和 ext4 使用完全不同的块大小,因此 2 倍甚至 8 倍的大小变化也不足为奇。
ext4 通常使用 4k 块,但 ext4 和 vfat 都在格式化磁盘时使用可变块大小设置。 vfat支持512b到32k之间的逻辑块大小; ext4 支持 1k 到 4k 之间的块大小。
如果是旧磁盘,则可能是 512b 块,也可能是 2k,具体取决于磁盘大小和属性。如果您有很多小于 2k 的文件,则在复制到 4k 块大小的 ext4 时,每个文件的大小都可能加倍。