Por que o scp não substitui meu arquivo de destino?

14

Estou tentando fazer backup de um arquivo através do comando

scp /tmp/backup.tar.gz nome do host: /home/user/backup.tar.gz

Quando eu o executo, a barra de progresso do scp aparece e parece que ele está transferindo o arquivo; no entanto, quando eu faço logon no servidor de destino para verificar o arquivo, o carimbo de data e hora e o tamanho do arquivo não foram alterados em relação à versão mais antiga. O scp não substituiu o arquivo antigo. Ele só funciona quando eu excluo o arquivo manualmente do servidor de destino.

Estou executando o ubuntu, e isso está acontecendo em dois servidores: um cygwin ssh e um fedora core 3.

Alguém tem alguma idéia de por que isso está acontecendo? Eu pensei que o scp substituiria apenas os arquivos existentes.

obrigado

Noli
fonte
1
Também acontece comigo no CentOS 6.0. Estou copiando arquivos do Slackware 12.1. A versão do cliente ssh é 5.0p1 e a versão do servidor ssh é 5.3p1.
Milan Babuškov 9/04/12
1
Você verificou se algum processo não está substituindo o arquivo de volta? Eu tenho o mesmo problema no passado devido a um rsync. Cheers, RT
user438115
também acontece no linux mint. LOUCO
Denis

Respostas:

9

Se eu omitir o nome do arquivo de destino e especificar apenas o diretório, ele funcionará:

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

Não entendo o porquê, mas também pode ser uma solução para o seu problema.

Milan Babuškov
fonte
1

Sob debian / lenny, isso está funcionando. Talvez você usescp -v $localFile $RemoteHost:$RemotePath/$localFile

ThorstenS
fonte