Arquivo ausente após fsck

Arquivo ausente após fsck

Recentemente, meu disco rígido travou e tive que executar um fsckcomando. Muitos arquivos foram movidos para a lost+foundpasta e recuperei os importantes usando finde grep, mas não consigo encontrar meus bancos de dados SQL.

Questões

  • Como posso encontrar bancos de dados InnoDB em meu diretório perdido + encontrado?
  • É possível que o fsck não tenha salvo meu banco de dados SQL?
  • Se sim, posso recuperar este arquivo?

Responder1

Experimente o nº 1:

Talvez ainda esteja lá, apenas seu nome mudou para fe /lost+found/#3456254 e similares. No seu lugar, fiz um recursivo file -szLpara tudo /lost+founde usei o grep para o innodb:

find /lost+found -type f|xargs -P 1 -n 500 file -szL|grep -i innodb

Se ainda houver um banco de dados innodb, você terá seus dados para salvar. Boa sorte!

Experimente o número 2:

Se o seu banco de dados tiver muitos dados textuais, uma pesquisa hexa baseada em setor também poderá ajudá-lo.

Responder2

É possível que os arquivos em questão não tenham sido reconstruídos pelo fsck e tenham sido excluídos. O programa fsck apenas tenta reparar e se esforça ao máximo para reconstruir os arquivos da melhor maneira possível. No entanto, não se trata de forma alguma de qualquer tipo de backup. Qualquer ação executada pelo fsck basicamente não é reversível.

Eu teria muito cuidado ao tentar usar partes de um banco de dados MySQL contidas em um diretório perdido + encontrado, pois um banco de dados não está contido em um arquivo, mas em muitos arquivos que devem estar em "sincronização" para ter alguma esperança de recuperação do banco de dados em um modo onde existe algum tipo de confiabilidade ou integridade de dados.

Quanto à recuperação de arquivos, desculpe, você terá que voltar aos backups que provavelmente fez, pois os dados eram importantes. Caso contrário, você está realmente sem sorte.

Se os dados forem tão importantes, você PODE tentar contar com a ajuda de um dos muitos serviços de recuperação de dados. É caro e os resultados não são perfeitos.

Responder3

Acredito que você está sem sorte. A única opção que você tem é percorrer o lost+founddiretório e inspecionar visualmente cada arquivo em busca de pistas sobre sua identidade original.

No futuro

Existe esta postagem no blog intitulada:Atualizado: restaura automaticamente arquivos perdidos + encontrados, que discute duas ferramentas que teriam ajudado nesse cenário.

  • make-lsLR.sh- chame isso regularmente (cron) para criar os arquivos necessários que estão armazenados em /root/. É claro que você pode alterar o local facilmente e excluir outros diretórios da verificação.

  • check_lost+found.py- O segundo script deve ser executado quando seu fsck conseguir bagunçar seus arquivos e armazená-los no diretório perdido + encontrado. São necessários 3 argumentos: 1) o diretório de origem onde está o diretório perdido + encontrado bagunçado, 2) o diretório de destino no qual os dados serão salvos e 3) uma opção para realmente fazer isso acontecer em vez de uma simulação.

Os 2 scripts funcionam juntos, o primeiro precisaria ser executado periodicamente, para construir um inventário dos arquivos que estão presentes no seu sistema. O segundo script pode então usar esse inventário caso você precise restaurar arquivos de um lost+founddiretório.

informação relacionada