在同一networking中的两台Linux服务器之间传输文件时遇到问题。 在源服务器上,我有40055个小文件的目录,目录大小是34 GB。 我试图用rsync命令传输这些文件:
rsync -ah --progress --inplace /dir/dir_with_files user@server:/dir/destination_dir
传输后,在目标服务器上我有一个大小为108 GB而不是34 GB的目录
分区上的块是相同的。
我用scp做了同样的事情,但问题是一样的。
要完整保留所有内容,请尝试:
rsync --archive --hard-links --sparse-files --acls --xattrs source dest
然后为了validation正确性,你可以做一些类似的事情(假设你的文件名中没有空格): for file in *; do md5sum $file >> /tmp/sums.txt; done for file in *; do md5sum $file >> /tmp/sums.txt; done for file in *; do md5sum $file >> /tmp/sums.txt; done ,然后diff sums.txt在两台服务器上。 尽pipe如此,md5summing将需要一段时间。
如果您的文件名中有空格,请使用find和/或xargs构造一些内容
顺便说一句, du --bytes -hs什么意思? 这样,你排除块大小。