Pourquoi scp n'écrase pas mon fichier de destination?

14

J'essaie de sauvegarder un fichier via la commande

scp /tmp/backup.tar.gz nom d'hôte: /home/user/backup.tar.gz

Lorsque je l'exécute, la barre de progression de scp apparaît et il semble que son transfert de fichier, mais lorsque je me connecte au serveur de destination pour vérifier le fichier, l'horodatage et la taille du fichier n'ont pas changé par rapport à l'ancienne version, il ressemble donc à scp n'a pas écrasé l'ancien fichier du tout. Il ne fonctionne que lorsque je supprime manuellement le fichier du serveur de destination.

J'utilise ubuntu, et cela se produit sur deux serveurs: un cygwin ssh et un fedora core 3.

Quelqu'un a une idée de la raison pour laquelle cela se produit? Je pensais que scp ne remplacerait que les fichiers existants ..

Merci

Noli
la source
1
Ça m'arrive aussi sur CentOS 6.0. Je copie des fichiers depuis Slackware 12.1. La version ssh du client est 5.0p1 et la version ssh du serveur est 5.3p1.
Milan Babuškov
1
Avez-vous vérifié si un processus ne remplace pas le fichier? J'ai le même problème dans le passé en raison d'un rsync. À la vôtre, RT
user438115
arrive aussi sur Linux Mint. CRAZY
Denis

Réponses:

9

Si j'omet le nom du fichier de destination et que je spécifie uniquement le répertoire, cela fonctionne:

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

Je ne comprends pas pourquoi, mais cela pourrait aussi être une solution à votre problème.

Milan Babuškov
la source
1

Sous debian / lenny, cela fonctionne. Peut-être que vous utilisezscp -v $localFile $RemoteHost:$RemotePath/$localFile

ThorstenS
la source