通过安全网络复制小文件的最快方法,无需考虑文件修改时间或大小

通过安全网络复制小文件的最快方法,无需考虑文件修改时间或大小

我想要同步 dir1 和 dir2(两个不同的服务器)中的文件。

我并不关心文件大小或修改时间是否不同。

示例:dir1 包含 file1、file2、file3、file4,而 dir2 包含 file2、file3、file5

我想要将file5复制到dir1,并将file1、file4复制到dir2。

请注意,file2 的大小不同,file3 的修改时间也不同,但我不在乎。我的网络也是私有的,所以我不希望有任何安全开销。

哪一个是最快的:

NFS 挂载上使用 rsync、scp 还是 cp?确切地说,相应的命令行是什么?

答案1

这在很大程度上是学术性的,因为您的限制因素很可能是您的网络带宽。真正需要注意的唯一事情是文件大小与操作数量 - 大量小文件将导致大量小复制操作。

但就目前情况而言,很难确定哪个是“最快”,因为“这取决于情况”。

我很惊讶地发现你在使用 时遇到了很多问题rsync,原因很简单,它会在进行任何复制之前检查是否需要做任何事情。没有什么比不复制你不需要的东西更有效率的了。

如果你有很多小文件,那么你可能会发现tar它更好 - 它tar是为写入磁带而设计的,因此非常适合在网络上传输目录结构。例如

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

相关内容