Falta archivo después de fsck

Falta archivo después de fsck

Recientemente, mi disco duro falló y tuve que ejecutar un fsckcomando. Se movieron muchos archivos a la lost+foundcarpeta y recuperé los importantes usando findy grep, pero no puedo encontrar mis bases de datos SQL.

Preguntas

  • ¿Cómo puedo encontrar bases de datos InnoDB en mi directorio perdido+encontrado?
  • ¿Es posible que fsck no haya guardado mi base de datos SQL?
  • En caso afirmativo, ¿puedo recuperar este archivo?

Respuesta1

Pruebe #1:

Tal vez ya esté allí, solo que su nombre cambió a fe /lost+found/#3456254 y me gusta. En tu lugar hice un recursivo file -szLpara todo en /lost+foundy busqué innodb:

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

Si todavía hay una base de datos innodb allí, tiene sus datos para guardar. ¡Buena suerte!

Pruebe #2:

Si su base de datos tenía muchos datos textuales, una búsqueda hexadecimal basada en sectores también podría ayudarle.

Respuesta2

Es posible que fsck no haya podido reconstruir los archivos en cuestión y que hayan sido eliminados. El programa fsck sólo intenta reparar y se esfuerza mucho en reconstruir los archivos lo mejor que puede. Sin embargo, de ninguna manera se trata de ningún tipo de copia de seguridad. Cualquier acción realizada por fsck básicamente no es reversible.

Tendría mucho cuidado al intentar utilizar partes de una base de datos MySQL contenida en un directorio perdido+encontrado, ya que una base de datos no está contenida en un solo archivo, sino en muchos archivos que deben estar "sincronizados" para tener alguna esperanza de recuperación de la base de datos en un modo donde existe algún tipo de confiabilidad o integridad de los datos.

En cuanto a la recuperación de archivos, lo siento, tendrás que volver a las copias de seguridad que presumiblemente has estado realizando desde que los datos eran importantes. De lo contrario, realmente no tendrás suerte.

Si los datos son tan importantes, entonces PODRÍA intentar solicitar la ayuda de uno de los muchos servicios de recuperación de datos. Es caro y los resultados no son perfectos.

Respuesta3

Creo que no tienes suerte. La única opción que tiene es recorrer el lost+founddirectorio e inspeccionar visualmente cada archivo en busca de pistas sobre su identificación original.

En el futuro

Hay esta publicación de blog titulada:Actualizado: restaurar automáticamente archivos perdidos+encontrados, que analiza dos herramientas que habrían ayudado en este escenario.

  • make-lsLR.sh- llame a esto regularmente (cron) para crear los archivos necesarios que se almacenan en /root/. Por supuesto, puede modificar la ubicación fácilmente y excluir otros directorios del análisis.

  • check_lost+found.py- El segundo script debe ejecutarse cuando su fsck logró estropear sus archivos y los almacenó en el directorio perdido+encontrado. Se necesitan 3 argumentos: 1) el directorio de origen donde está el directorio perdido+encontrado, 2) el directorio de destino en el que se guardarán los datos y 3) un interruptor para que esto suceda en lugar de un ensayo.

Los 2 scripts funcionan juntos, el primero debería ejecutarse periódicamente para crear un inventario de los archivos que están presentes en su sistema. El segundo script puede utilizar este inventario en caso de que necesite restaurar archivos desde un lost+founddirectorio.

información relacionada