scpが宛先ファイルを上書きしないのはなぜですか?


14

コマンドを使用してファイルをバックアップしようとしています

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

実行すると、scpプログレスバーが表示され、ファイルを転送しているように見えますが、ファイルを確認するために宛先サーバーにログインしても、タイムスタンプとファイルサイズは古いバージョンから変更されていないため、 scpは古いファイルをまったく上書きしませんでした。宛先サーバーからファイルを手動で削除した場合にのみ機能するように見えます。

私はubuntuを実行していますが、これは2つのサーバーで発生しています:1つのcygwin sshと1つのfedora core 3。

なぜこれが起こっているのか誰にも分かりますか?scpは既存のファイルのみを上書きすると考えました。

ありがとう


1
CentOS 6.0でも私に起こります。Slackware 12.1からファイルをコピーしています。クライアントsshバージョンは5.0p1、サーバーsshバージョンは5.3p1です。
ミラノバブシュコフ

1
何らかのプロセスがファイルを元に戻していないか確認しましたか?rsyncが原因で過去に同じ問題が発生しました。歓声、RT
user438115

Linuxミントでも同様です。クレイジー
デニス

回答:


9

宛先ファイル名を省略し、ディレクトリのみを指定すると、動作します:

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

理由はわかりませんが、問題の解決策にもなります。


1

debian / lennyでこれは動作しています。おそらくあなたはscp -v $localFile $RemoteHost:$RemotePath/$localFile

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.