使用Scp时防止覆盖文件

Des*_*Ice 39 linux scp

我正在使用scp复制一些文件,我不想覆盖已经存在的文件.

如果我使用cp命令,我认为这可以使用cp -n完成.

scp是否有类似的选项,我查看了SCP的文档,似乎没有这样的选项.

rsync或sftp是解决这个问题的方法吗?

添加信息:

操作系统:Ubuntu 12.04

小智 36

rsync似乎是你的问题的解决方案.这是我从这里得到的一个例子:

rsync -avz foo:src/bar /data/tmp
Run Code Online (Sandbox Code Playgroud)

-a选项将保留权限,目录结构,所有权和符号链接.您也可以单独指定任何这些选项.

-v和-z分别表示详细和压缩.你真的不需要它们虽然-z很好,如果你要复制大文件.


小智 15

我刚发现一个简单的黑客.将现有文件标记为只读.


小智 10

rsync -avz --ignore-existing /source folder/* user@remoteserver:/dstfolder/
Run Code Online (Sandbox Code Playgroud)

--ignore-existing 不会覆盖远程服务器或目标服务器上的文件*.