Arquivo danificado / perdido durante a transferência? Recuperação possível?

10

Eu estava na uni alguns dias atrás quando tentei recortar e colar um arquivo de 500Mb (uma gravação de vídeo de 3gp) na minha unidade H em um dos computadores Linux (Debian KDE 3.5) da rede uni.

Não vi nenhuma mensagem de erro indicando que o trabalho de recortar e colar falhou, mas quando analisei o arquivo colado resultante, ele aparece agora como um arquivo de 60 MB (essa é uma discrepância de 440 MB!). Meu arquivo foi de alguma forma encolhido! O arquivo foi quebrado no processo de colá-lo e esse é o fragmento de um arquivo incompletamente copiado?

Suspeito que o que aconteceu foi que a transferência de arquivos foi interrompida devido a limitações de alocação de tamanho da unidade H impostas aos usuários pelos administradores.

Mas você pensaria que o Linux anteciparia que o arquivo era maior do que seria possível mover para o destino pretendido e abortar a transferência antes de começar, não esperar até atingir algum limite proibido então cancelar discretamente sem me notificar.

Também no caso de uma transferência de arquivo interrompida, normalmente espera-se que o arquivo original permaneça intacto (ou seja, não seja excluído) na unidade USB original?

O arquivo aparece no destino, mas agora é muito menor e não é funcional. O arquivo original no local de origem na unidade externa desapareceu, sugerindo que a tarefa foi concluída com êxito.

Esse redimensionamento é bastante bizarro e agora parece que não tenho acesso ao arquivo original. Depois de cortar e colar, o original pode ter sido removido do local de origem. O computador tem maltratado essa tarefa, aparentemente fazendo com que eu perca meu arquivo, e gostaria que você me ajudasse a recuperar meu arquivo.

Eu tentei recuperar o arquivo no cartão SD do meu telefone usando a ferramenta forense PhotoRec e Sleuthkit. Sem sorte. As seções excluídas do disco podem ter sido substituídas por novos dados. Portanto, zero progresso no final da fonte. Qualquer forma de recuperar no destino final (ou seja, minha rede uni)?

peter@peter-deb:/media/E0FD-1813$ cd DCIM/
peter@peter-deb:/media/E0FD-1813/DCIM$ cd ..
peter@peter-deb:/media/E0FD-1813$ cd LOST.DIR/
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls -a
.  ..
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ 
    
por ptrcao 27.08.2011 / 06:07

2 respostas

11

Primeiro, nunca mova um arquivo pela rede, apenas copie. Você sempre pode excluir o original após a conclusão da cópia. Em segundo lugar, seu sistema local pode nem mesmo estar ciente de que existe uma cota de sistema de arquivos no armazenamento remoto - não presuma que seja possível adivinhar antecipadamente se uma operação de cópia falharia devido a uma cota remota. No que diz respeito ao processo de "envio", todos os bytes foram enviados e recebidos pela extremidade remota, e você queria mover o arquivo para que agora o original possa ser excluído - o arquivo poof desapareceu. / p>

"Existe alguma maneira de recuperar no destino?" - não é uma chance. OK, talvez um pequeno. Verifique com o administrador da rede para ver se apenas talvez o sistema realmente recebeu o arquivo completo, mas apenas informa o tamanho da sua cota. Não segure a respiração.

E eu peço desculpas se estou soando um pouco duro, mas parece que alguns novos hábitos estão em ordem. : -)

    
por 27.08.2011 / 06:24
1

Solução da velha escola para a próxima vez:

# sync
# sync
# sync
# umount /mnt

(Isso é um tanto sarcástico, porque as três sincronizações seguidas são legadas e meio supersticiosas. Procure por elas. link )

Foi útil nos dias do SYSV.

Ok, demorei um pouco para localizar isso no google. (Por que tão difícil? Folclore se perder?) De qualquer forma, eu sugiro aos jovens que leiam o livro Unix Folklore de Raymond (que ... não consigo encontrar na Amazon ...?).

por 02.09.2011 / 01:32