复制目录的最佳方法是什么?

复制目录的最佳方法是什么?

将文件夹复制到远程计算机的最佳方法是什么(在我的情况下,我们需要将所有内容复制/etc/yum.repo.d到远程计算机)?使用rsync -avscp -rp

# scp -rp /etc/yum.repos.d/* master100:/etc/yum.repos.d 
# rsync -av /etc/yum.repos.d/* master100:/etc/yum.repos.d

答案1

我更愿意使用rsync.它更容易记住,因为正如您所示,最常见的选项与cp.

从技术上讲,rsync可能无法安装在某些scp可用的系统上。然而,它的功能rsync非常有用。结果,它将通常已安装,并且练习使用它很有用。

对于像您展示的情况,您有时可能想要使用rsync --delete.即使对于本地文件,这也很有用(cp没有--delete选项)。然而它也是超级危险的。当你写一个rsync --delete命令时,你应该总是首先在-n模式下运行它,看看它会做什么而不实际执行它。

(这是特别危险的,因为 rsync 将/源上的尾随解释为与其他人不同的含义(更类似于 Trailing /.),并且如果路径是目录,则使用 TAB 键完成路径将自动包含尾随/。这甚至可能会导致问题没有--delete,通过覆盖错误的文件或用没有意义的文件混乱错误的目录,我认为 rsync 的行为早于路径完成的广泛使用。)

相关内容