Como posso obter o comando scp para sobrescrever a pasta de destino?

29

Estou usando o comando scp para copiar alguns arquivos para um pc remoto, como você faz com scp:)

Noto que o comportamento padrão de uma cópia scp para arquivos é sobrescrever qualquer arquivo existente. Agora quero copiar uma pasta para fazer basicamente a mesma coisa:

scp -r <source_path> user@myOtherPc:<dest_path>

Onde as partes em < > são meus caminhos de pasta. No entanto, quando eu executo isso, recebo a mensagem "arquivo existe". Existe uma maneira de contornar isso? algum tipo de força sobre-escrever?

Obrigado Forragem

    
por code_fodder 23.09.2013 / 16:15

3 respostas

19

Como dito antes, o scp substitui alegremente qualquer arquivo que já esteja presente.

O problema "arquivo existe" só pode ocorrer quando você tem algum outro processo (como um processo scp concorrente ou qualquer outra coisa) escrevendo pastas e arquivos no mesmo destino. Considere usar o rsync.

    
por 02.12.2015 / 00:42
4

Como o Levans, não consegui replicar isso, mas você já pensou em usar o rsync sobre o ssh? Se você estiver copiando um grande número de arquivos, o rsync pode ser uma opção melhor que o scp. Há vários bons guias on-line, como estes:

link link

Esse primeiro link lida com backups automatizados via cron, então algumas das instruções (como criar uma chave ssh sem uma frase secreta) podem não ser relevantes para você.

    
por 24.09.2013 / 02:41
3

Você receberá essa mensagem de erro se o diretório de destino já contiver um arquivo com o mesmo nome do diretório de origem que você está tentando transferir. Você não pode ter um arquivo com o mesmo nome de um diretório no mesmo diretório.

    
por 05.03.2016 / 16:31

Tags