为什么scp不覆盖我的目标文件?


14

我正在尝试通过命令备份文件

scp /tmp/backup.tar.gz主机名:/home/user/backup.tar.gz

运行该文件时,它将显示scp进度条,看起来就像是正在传输文件,但是当我登录到目标服务器以检查文件时,时间戳和文件大小与旧版本相比没有变化,因此看起来scp根本没有覆盖旧文件。仅当我从目标服务器中手动删除文件时,它才起作用。

我正在运行ubuntu,这在两台服务器上发生:一台cygwin ssh和一台fedora core 3。

有人知道为什么会这样吗?我以为scp只会覆盖现有文件。

谢谢


1
我在CentOS 6.0上也碰巧。我正在从Slackware 12.1复制文件。客户端ssh版本为5.0p1,服务器ssh版本为5.3p1。
米兰Babuškov2012年

1
您是否检查过某些程序是否没有替换文件?由于rsync,我过去也遇到过同样的问题。欢呼声,RT
user438115

Linux Mint上的幸福也是如此。疯狂
丹尼斯

Answers:


9

如果我省略目标文件名而仅指定目录,则它可以工作:

scp /tmp/backup.tar.gz hostname:/home/user/

我不明白为什么,但这也可能是您解决问题的方法。


1

在debian / lenny下可以正常工作。也许你用scp -v $localFile $RemoteHost:$RemotePath/$localFile

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.