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

Nol*_*oli 17 linux scp overwrite timestamp

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

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

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

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

任何人都知道为什么会这样?我以为 scp 只会覆盖现有文件..

谢谢

Mil*_*kov 9

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

scp /tmp/backup.tar.gz hostname:/home/user/
Run Code Online (Sandbox Code Playgroud)

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


Tho*_*enS 2

在 debian/lenny 下这是有效的。也许你使用scp -v $localFile $RemoteHost:$RemotePath/$localFile