Arquivo ausente após fsck

2

Recentemente, meu disco rígido falhou e tive que executar um comando fsck . Muitos arquivos foram movidos para a pasta lost+found e recuperei os arquivos importantes usando find e grep , mas não consigo encontrar meus bancos de dados SQL.

Perguntas

  • Como posso encontrar bancos de dados InnoDB no meu diretório lost + found?
  • É possível que o fsck não tenha salvado meu banco de dados SQL?
  • Se sim, posso recuperar este arquivo?
por John 14.05.2014 / 10:03

3 respostas

2

Tente # 1:

Talvez esteja lá ainda, apenas seu nome mudou para f.e. / perdido + encontrado / # 3456254 e gosto. No seu lugar eu fiz um file -szL recursivo para tudo em /lost+found e grepped para 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!

Tente # 2:

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

    
por 14.05.2014 / 14:35
1

É possível que o (s) arquivo (s) em questão não puderam ser reconstruídos pelo fsck que eles foram excluídos. O programa fsck apenas tenta reparar e tenta reconstruir arquivos o máximo possível. No entanto, não é de forma alguma qualquer tipo de backup. Qualquer ação executada pelo fsck não é basicamente reversível.

Eu seria muito cuidadoso ao tentar usar partes de um banco de dados MySQL contido em um diretório lost + found, pois um banco de dados não está contido em um arquivo, mas muitos arquivos que devem estar em "sync" para ter alguma esperança de banco de dados recuperação em um modo em que há qualquer tipo de confiabilidade ou integridade de dados.

Quanto à recuperação de arquivos, desculpe, você terá que voltar para os backups que presumivelmente você fez desde que os dados foram importantes. Caso contrário, você está realmente sem sorte.

Se os dados forem tão importantes, você poderá tentar obter a ajuda de um dos muitos serviços de recuperação de dados. É caro e os resultados são menos que perfeitos.

    
por 14.05.2014 / 10:17
0

Eu acredito que você está sem sorte. A única opção que você tem é percorrer o diretório lost+found e inspecionar visualmente cada arquivo procurando pistas quanto à sua identificação original.

No futuro

Existe este post intitulado: Updated: Restaurar automaticamente os arquivos de lost + found , que discute 2 ferramentas que seriam ajudamos nesse cenário.

  • make-lsLR.sh - call this regularly (cron) to create the needed files that are stored in /root/. Of course you can alter the location easily and exclude other directories from being scanned.

  • check_lost+found.py - The second script is to be run when your fsck managed to mess up with your files and stored them into lost+found directory. It takes 3 arguments: 1) the source directory where your messed up lost+found directory is, 2) the target directory to which the data will be saved and 3) a switch to actually make it happen instead of a dry-run.

Os dois scripts funcionam juntos; o primeiro precisaria ser executado periodicamente para criar um inventário dos arquivos que estão presentes em seu sistema. O segundo script pode fazer uso desse inventário no caso de você precisar restaurar arquivos de um diretório lost+found .

    
por 14.05.2014 / 10:10