O scp perde pacotes?

0

Eu tentei transferir um arquivo de 200 MB na semana passada para a máquina remota. Então eu peguei um arquivo de 30 MB. Hoje eu tentei scp um diretório inteiro e um número significativo de arquivos foram perdidos.

É normal com o scp? Como evitar isso?

editado:

Eu escrevi um script de espera para o arquivo scp, poderia ser relevante?

este script é bastante simples:

#!/usr/bin/expect
set file [lindex $argv 0];
set ip [lindex $argv 1];
spawn scp -r $file $ip
expect {
    "*password*" {send "password\r"}
    "*(yes/no)?*" {send "yes\r";exp_continue}
}
expect eof

Não houve mensagem de erro, mas simplesmente uma perda de arquivos não foi copiada.

    
por J.R. 25.10.2017 / 13:38

1 resposta

3

A Scp não pode garantir que uma cópia seja feita corretamente. Nenhum software pode garantir que uma cópia ocorra corretamente. Existe sempre a possibilidade de a energia ou a rede ficarem inativas, ou um arquivo de origem ficar ilegível, ou o volume de destino ficar cheio, etc.

O máximo que um software de cópia de arquivos pode fazer é garantir que, quando sair, a cópia esteja correta ou o software relate um erro. A maneira confiável de verificar erros é verificar o status de retorno do processo: 0 para sucesso, qualquer outro valor para erro. Scp, como qualquer programa decente, retorna 0 em sucesso e um valor diferente de zero em caso de falha.

Seu script de espera não verifica o status de retorno de scp , portanto você não tem como saber se o scp informou que a cópia foi bem-sucedida.

A expectativa não é uma ferramenta útil aqui. Você deve realmente usar a autenticação de chave pública . Se você realmente não puder configurar as chaves, use sshpass em vez de usar o seu próprio.

Além disso, você deve usar rsync em vez de scp. O rsync tem uma grande vantagem: se uma cópia for interrompida, você poderá executá-la novamente e ela ficará onde parou. Certifique-se de informá-lo para preservar os timestamps e também outros metadados, a menos que você tenha uma boa razão para não:

rsync -a SOURCE/ DESTINATION/
    
por 25.10.2017 / 22:08

Tags