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

我试图通过命令备份一个文件

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

当我运行它,scp进度条出现,它看起来像它的传输文件,但是当我login到目标服务器来检查文件,时间戳和文件大小没有改变从旧版本,所以它看起来像scp根本没有覆盖旧文件。 只有当我从目标服务器上手动删除文件时,它才会起作用。

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

任何人有任何想法为什么发生这种情况? 我以为scp只会覆盖现有的文件

谢谢

如果我省略目标文件名并只指定目录,那么它工作:

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

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

在Debian / lenny下这是工作。 也许你使用scp -v $localFile $RemoteHost:$RemotePath/$localFile