用 rsync 备份的目录比源大得多

nic*_*ckd 4 rsync

我们使用 将一组虚拟机备份到外部 USB 驱动器rsync -a。源目录报告为 145G du -sh,但目标报告为 181G。

两个文件系统ext3和块大小相同,所以有人可以解释差异是什么吗?

Dan*_*tta 6

正如丹尼斯所提到的,这似乎是一个稀疏文件问题。一个例子可以是:

$ dd if=/dev/zero of=sparse.txt count=0 seek=1000
0+0 records in

$ du sparse.txt
0   sparse.txt

$ ls -l sparse.txt
-rw-r--r-- 1 user user 512000 2010-03-22 11:54 sparse.txt
Run Code Online (Sandbox Code Playgroud)

如您所见,du报告实际使用了多少块,同时ls显示文件应该有多大。


Jac*_*zny 6

其他人已经提到了稀疏文件,但还有另一件事:硬链接。硬链接——文件的多个名称(和磁盘上的空间)通常用于系统分区(例如,用于在同一个二进制文件中实现的多个 shell 命令),并且它们不是由 rsync 仅使用 '-a' 选项专门处理的。因此,例如,具有四个硬链接的文件将被存储为四个单独的文件。

尝试使用rsync -aH.