这是一个我无法找到明确答案的话题,或者至少有一个对于为什么一个解决方案比另一个解决方案更好的解释。可以说我有两个本地驱动器,一个有要复制的文件,一个是空的。反馈不是必要的,但最佳表现是一些警告。
- 从一点向下的文件结构必须一致。例如,文件可以存储在目录中
x
,其中x
位于/my_drive_a/to_copy/files/x/
-但是当我把它复制到/my_drive_b/
,我想它只能从结构化/files/
了。所以结果看起来有点像/my_drive_b/files/x/
。 - 每次传输的文件都不一样,因此像这样的功能
rsync
可能不是有利的功能cp
。 - 文件数量将达到数千,尽管它们都很小。
- 必须复制并保留数据
my_drive_a
。
我最初的想法就是做cp -R /my_drive_a/to_copy/files/x/ /my_drive_b/files/x/
。同样,由于Linux中的复制功能经验有限,我不确定这是否是复制如此大量文件的最佳解决方案。
@ArkadiuszDrabczyk感谢您的反馈,您为什么选择
—
sudosnake 2017年
rsync
?
1.我
—
Arkadiusz Drabczyk,
scp
在复制大量数据方面经验不佳- 我尝试了一次而且崩溃了。2.如果连接已停止,rsync
则不会从头开始复制所有内容,但只有尚未复制的文件3. rsync
本地和以上ssh
都可以使用,因此您可以使用具有相同选项的单个工具
“我不确定这是否是复制如此大量文件的最佳解决方案。” 我认为最佳速度的“最佳”结果取决于某些因素。例如,众所周知,Reiserfs可以很好地支持许多小文件。因此,根据您使用的文件系统(或操作系统),您可能会得到不同的结果。你最好的选择可能是:停止尝试传输大量的小文件,但要将它们放入1个存档文件中,可能tar最广泛兼容并支持Unix元数据,然后传输一个文件。使用Unix管道可能很光滑,但如果出现问题则很麻烦。)
—
TOOGAM 2017年
rsync