SCP 避免复制如果位于远程计算机上的同一文件名



是否有任何选项告诉scp命令 - 如果远程计算机上存在文件,则不从当前机器复制文件

例如

在我的计算机上,我有文件 -

/etc/secret-pw.txt

在远程计算机上,我也有文件 -

/etc/secret-pw.txt

so

scp /etc/secret-pw.txt $remote_machine:/etc

将销毁 Secret-pw.txt ,而SCP不会问以下问题:覆盖目标文件

如果SCP在目标机上存在文件?

是否有任何选项可以避免复制。

更新:我无法安装rsync或任何其他程序。

您应该使用rsync而不是scp。它将为您提供您的需求。

如果您无法安装rsync(如您在评论中所述),则需要事先运行脚本以检查文件是否存在并使用ssh

scp不提供任何选项,不幸的是。

但是您可以求助于标准工具,例如:

ssh $remote_machine -- cp --no-clobber /dev/stdin /etc/secret-pw.txt < /etc/secret-pw.txt

请注意,使用此技巧,您将获得cp的所有功能。

相关内容

  • 没有找到相关文章

最新更新