Como posso verificar se um arquivo é bem transferido ao usar o SFTP?

7

Eu tenho um problema no meu servidor: quando a cota da pasta é alcançada e alguém tenta enviar um arquivo, ele não recebe nenhum código de erro e ele deposita um arquivo de 0 bytes. Por isso, quero saber se existe alguma solução (verificação de integridade, por exemplo) para verificar se o arquivo foi bem transferido.

    
por achraf 11.05.2010 / 11:37

5 respostas

6

Não realmente. O melhor que você pode fazer é executar sha1sum via ssh no arquivo remoto e ver se ele corresponde ao mesmo hash do arquivo local.

Uma ferramenta diferente, como scp ou rsync , pode retornar um código de erro na falha de transferência.

    
por 11.05.2010 / 11:45
3

O protocolo sFTP possui verificação de erro de buildin.
Que o cliente crie um arquivo de zero bytes em vez do dado ao usuário uma mensagem de erro pode ser devido a 3 coisas:

  1. O servidor não retorna o erro corretamente ao cliente. (Eu vi isso acontecer com questões de cota ...) Se for esse o caso, a única maneira de verificar se o arquivo foi transferido é OK lê-lo de volta (pelo cliente) e comparar com o arquivo original do lado do cliente. (Eu estou supondo que você não pode fazer alterações no lado do servidor.)
  2. O servidor retorna o erro, mas o programa cliente sFTP não manipula isso corretamente. Obtenha um cliente sFTP diferente. (Observe que, em alguns clientes, o tratamento de erros pode ser desativado. Verifique as configurações.)
  3. O cliente lidou com o erro, mas o usuário simplesmente o ignorou: instrua seu usuário.
por 13.04.2013 / 12:35
3

Existem extensões de protocolo SFTP específicas para calcular hashes de arquivo , e essas extensões são suportadas pela maioria dos clientes e servidores (é muito comum). Consulte este link para obter documentação completa sobre essas extensões: link

De qualquer forma, dado o acima, eu recomendaria usar um cliente SFTP que suporte tais extensões e calcule o código hash do seu arquivo tanto no cliente quanto no servidor (após a transferência) e verifique se são as mesmas. Essa é a maneira mais segura de alcançar seu objetivo.

    
por 15.10.2014 / 18:53
0

O sftp incluiu verificações de integridade, portanto, só posso presumir que o usuário não percebeu o erro.

    
por 13.04.2013 / 10:59
-1

Compare com md5sum a soma de verificação dos 2 arquivos

    
por 11.05.2010 / 11:56

Tags