Ferramenta para comparar arquivos em um disco com informações de registro em outro?

4

Faz muito tempo desde que cheguei muito longe no Unix, então provavelmente não estou usando a terminologia correta quando digo 'registro', mas aqui está a situação.

Eu tenho um disco que está morrendo. Muitos erros de i / o. Então, estou no processo de copiar todos os arquivos desse disco para outro.

Mas definitivamente existem arquivos que não estão acabando. Existe uma maneira que eu possa olhar para o 'registro' de arquivos no disco defeituoso e comparar isso com os arquivos que existem no novo disco e determinar quais deles estão faltando?

Eu sei que eu poderia tentar fazer um diff entre os dois sistemas de arquivos, mas estou preocupado que a leitura de todos os arquivos no disco defeituoso esteja indo para erro - enquanto espero que a lista de quais arquivos existam o disco ruim ainda está em setores não danificados.

Ou o Unix (na verdade, isso é todo o OSX, não puro Unix) nem contém um arquivo de registro global?

    
por user31173 25.01.2013 / 20:04

5 respostas

1

Se o disco estiver danificado, pode ser mais inteligente copiar todo o disco (ou cada partição) para os arquivos. Quando os discos começam a falhar, eles geralmente desaparecem completamente depois. Então você pode voltar a montar as cópias e ir à loucura com suas ferramentas forenses preferidas para tentar salvar tudo o que puder.

    
por 26.01.2013 / 07:17
0

No UNIX, em conformidade com a FHS , a configuração geral do sistema é normalmente armazenada em /etc (as epóteses do som podem residir em /usr/local/etc ou /opt/app/etc ) e a configuração do usuário é armazenada em diretórios base, quase sempre em arquivos e diretórios que começam com um ponto ( .vim/ , .libreoffice , ...). Não há um único banco de dados de configurações, se por um único você entender arquivo único . Alguns grandes softwares podem armazenar toda ou a maioria de suas configurações em um único arquivo, mas o sistema inteiro não. Portanto, você precisa copiar os arquivos acima, para restaurar as configurações, e é por isso que geralmente é uma boa idéia fazer backup deles de tempos em tempos junto com dados "regulares" (ou até mesmo mantê-los sob um sistema de controle de versão). p>

Dito isto, uma vez que você salva as coisas mais importantes, eu sugiro strongmente usar o GNU ddrescue para obter uma cópia tão boa do (s) sistema (s) de arquivos possível e trabalhando nessas cópias. Como o ddrescue pode trabalhar em níveis abaixo do sistema de arquivos, geralmente é capaz de recuperar mais dados (e também mais rapidamente) do que apenas copiar.

    
por 25.01.2013 / 22:16
0

Não há "registro" contendo uma lista de nomes de arquivos no sistema (isso não é uma coisa comum). A lista de nomes de arquivos em cada diretório é armazenada nesse diretório. Você pode gerar uma lista de todos os nomes de arquivos no sistema com o find comando.

find / -xdev | sort >/tmp/file-list

Isso cria uma lista classificada de nomes de arquivos em /tmp/file-list . A opção -xdev diz a find para não entrar em outros sistemas de arquivos montados, como sistemas de arquivos especiais do sistema operacional ou unidades removíveis.

Provavelmente seria mais útil saber quais arquivos são idênticos também. Eu recomendo copiar seus arquivos com rsync e salvar a saída de erro de rsync em um arquivo, depois analisar esse arquivo para ver o que o criou e o que não foi feito.

    
por 26.01.2013 / 01:12
0

Isso é o que você está procurando:

Além da comparação

    
por 26.04.2013 / 22:52
0

Eu usaria o rsync. Ele irá comparar de forma inteligente os arquivos durante o processo de cópia e fornecer uma lista dos que não puderam ser copiados posteriormente.

rsync -av / caminho / para / source / caminho / para / target

    
por 02.07.2013 / 23:53