是否有任何选项告诉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
的所有功能。