El post que buscas se encuentra eliminado, pero este también te puede interesar

Recuperar archivos borrados de linux con Isof

Recuperar archivos borrados de linux con Isof


Isof es más que un simple comando de Linux es una herramienta que permite ver todos los archivos abiertos por un determinado proceso, tiene muchos usos pero en este caso vamos a ver como utilizar lsof para recuperar archivos que hayamos borrado accidentalmente.

Un poco de teoría un archivo en Linux es un apuntador a un inode, este inode es el que contiene los datos del archivo como permisos, propietario y donde está ubicado en el disco. Cuando borramos archivos en Linux removemos es el link pero no el inode como tal, si otro proceso tiene abierto el inode no es liberado hasta que el proceso termine con el.

Nota: Este método solo funciona si el archivo está abierto por algún proceso, si el proceso que usaba el archivo ya finalizó este método no sirve de nada.

Muchos después de leer la última línea se preguntarán para que sirve entonces si lo tiene que tener algún proceso abierto, supongamos que estás editando un archivo de audio y tienes archivo1.mp3 y archivo2.mp3, estás editando en este momento el archivo1.mp3 y decides que quieres borrar el 2 porque el 1 está perfecto, ejecutas por equivocación rm archivo1.mp3 y a llorar se ha dicho, esto es un simple ejemplo de cosas que suceden y creanme que hay muchos casos.

Recuperar archivos borrados de linux con Isof

Este tutorial sirve para cualquier distribución de GNU/Linux.

Para este Tip vamos a realizar los siguientes pasos:

Paso 1. Crea un archivo llamado texto.txt de prueba (no intentes esto con un archivo que sea importante no me hago responsable por ninguna pérdida), escribe lo que quieras dentro de este archivo.

Paso 2. Ejecuta:

less texto.txt

Vas a ver el contenido del archivo que editaste ahora presiona Ctrl-Z para suspenderlo o abre otra ventana de terminal.

Paso 3. Ahora el momento de la verdad ejecuta:

rm texto.txt

Archivo borrado, puedes ejecutar ls texto.txt para comprobar que el archivo se borró.

Paso 4. Ahora vamos a ver lsof en acción ejecuta:

lsof | grep texto.txt
less 2422 tribulinux 4r REG 8,5 59 252900 /home/tribulinux/texto.txt (deleted)

Debe aparcerte algo similar (con algúnos números distintos), lo importante de la segunda línea es el PID ó número de proceso que es en este caso 2422 y el descriptor del archivo que es la cuarta columna es decir 4.

Ahora con estos datos podemos ver dentro del directorio proc donde todavía estará la referencia a nuestro archivo.

Paso 5. Ejecuta:

ls -l /proc/2422/fd/4
lr-x—— 1 tribulinux tribulinux 64 2009-06-01 16:18 /proc/2422/fd/4 -> /home/tribulinux/texto.txt (deleted)

Te aparecerá algo como en la línea de arriba aquí ya empezamos a respirar un poco porque aún hay esperanzas de recuperar el archivo.

Paso 6. Recuperar el archivo ejecutando simplemente:

cp /proc/2422/fd/4 texto.txt.recuperado

Colocale el nombre que quieras

Finalmente puedes ver tu archivo recuperado:

ls -l texto.txt.recuperado

-rw-r–r– 1 tribulinux tribulinux 59 2009-06-01 16:27 texto.txt.recuperado

Y listo ya tienes de vuelta tu archivo

Espero que esto le salve el día a alguien alguna vez y que les sea de utilidad aunque sea para comprender un poco más a Linux.

Saludos

Fuente: http://www.tribulinux.com/tip-como-recuperar-archivos-borrados-linux-lsof.html

3 comentarios - Recuperar archivos borrados de linux con Isof

@capucchi
lo probaré, buen aporte