¿Cómo recuperar un archivo eliminado que aún está abierto?

20

¿Cómo se puede restaurar un archivo que se ha eliminado pero que todavía está abierto por un proceso?

La publicación de blog "Restaurar archivos de /proc" explica cómo hacer esto en Linux:

  1. Use lsof(por ejemplo, lsof -c name) para buscar todos los archivos actualmente abiertos para el proceso dado (cuyo nombre comienza con name). A partir de la salida, aprenderá el proceso pidy el descriptor de archivo ( fd) del archivo que está buscando.
  2. Use cp /proc/<pid>/fd/<fd>/ tmp / restore-file` para hacer una copia.

El primer paso también funciona uno a uno en OS X. Sin embargo, el paso 2 parece más complicado. ¿Hay una característica similar en OS X?

(Lo intenté, /dev/fdpero en mi caso, no contenía el PID / FD de mi proceso / archivo).

Hbf
fuente

Respuestas:

3

No pude encontrar un equivalente de OSX, pero respondí de todos modos ya que esto puede ser urgente. Si el archivo es realmente importante para recuperar y tiene que apagar el sistema, vuelva a montar el sistema de archivos en el que el archivo estaba en solo lectura e imagínese la partición con una herramienta como CloneZilla, esto preservará su capacidad de usar varias herramientas de recuperación en en caso de que el espacio que estaba usando el archivo se reasigne a otro archivo.

Dependiendo del tipo de archivo que necesite recuperar, PhotoRec podría encontrarlo. Además, la versión gratuita de Disk Drill puede ser útil, y dependiendo de qué sistema de archivos esté en uso, existe una pequeña posibilidad de que TestDisk pueda ser de ayuda (no es totalmente compatible con los sistemas de archivos Mac, aunque se ejecute en OSX).

Stephanie
fuente
1
Testdisk: cgsecurity.org/wiki/TestDisk ; Photorec : cgsecurity.org/wiki/PhotoRec : ambos son mejores que la mayoría de las otras herramientas de recuperación de archivos que he usado. Photorec no necesariamente recuperará metadatos, pero los datos están ahí. Probablemente sea demasiado tarde, pero también puede ejecutar uno de estos desde una unidad flash antes de reiniciar si cree que el riesgo de que algo sobrescriba los sectores es bajo.
Nick
Gracias, @Stephanie, muy amable de su parte, por compartir el enfoque y las herramientas. Estaba haciendo la pregunta por interés, para aprender más sobre OS X, así que afortunadamente no hay urgencia involucrada (¡pero agradezco su respuesta oportuna!).
Hbf