GNU/Linux >> Tutoriales Linux >  >> Linux

Unix/Linux recuperar/recuperar archivos borrados

El vínculo que alguien proporcionó en los comentarios es probablemente su mejor oportunidad.

Linux debugfs Hack:Recuperar archivos

Ese artículo, aunque parece un poco intimidante, en realidad es bastante sencillo de seguir. En general, los pasos son los siguientes:

  1. Use debugfs para ver un registro de sistemas de archivos

    $ debugfs -w /dev/mapper/wks01-root
    
  2. En el aviso de debugfs

    debugfs: lsdel
    
  3. Salida de muestra

    Inode  Owner  Mode    Size    Blocks   Time deleted
    23601299      0 120777      3    1/   1 Tue Mar 13 16:17:30 2012
    7536655      0 120777      3    1/   1 Tue May  1 06:21:22 2012
    2 deleted inodes found.
    
  4. Ejecute el comando en debugfs

    debugfs: logdump -i <7536655>
    
  5. Determinar el inodo de los archivos

    ...
    ...
    ....
    output truncated
        Fast_link_dest: bin
        Blocks:  (0+1): 7235938
      FS block 7536642 logged at sequence 38402086, journal block 26711
        (inode block for inode 7536655):
        Inode: 7536655   Type: symlink        Mode:  0777   Flags: 0x0   Generation: 3532221116
        User:     0   Group:     0   Size: 3
        File ACL: 0    Directory ACL: 0
        Links: 0   Blockcount: 0
        Fragment:  Address: 0    Number: 0    Size: 0
        ctime: 0x4f9fc732 -- Tue May  1 06:21:22 2012
        atime: 0x4f9fc730 -- Tue May  1 06:21:20 2012
        mtime: 0x4f9fc72f -- Tue May  1 06:21:19 2012
        dtime: 0x4f9fc732 -- Tue May  1 06:21:22 2012
        Fast_link_dest: bin
        Blocks:  (0+1): 7235938
    No magic number at block 28053: end of journal.
    
  6. Con la información del inodo anterior, ejecute los siguientes comandos

    # dd if=/dev/mapper/wks01-root of=recovered.file.001 bs=4096 count=1 skip=7235938
    # file recovered.file.001
    file: ASCII text, with very long lines
    

Archivos recuperados a recovered.file.001 .

Otras opciones

Si lo anterior no es para ti, he usado herramientas como photorec para recuperar archivos en el pasado, pero está diseñado solo para archivos de imagen. He escrito mucho sobre este método en mi blog en este artículo titulado:

Cómo recuperar archivos jpeg y mov corruptos de la tarjeta SDD de una cámara digital en Fedora/CentOS/RHEL.


Con un poco de posibilidades, a veces puedo recuperar archivos eliminados con este script o la siguiente solución en la respuesta:

#!/bin/bash

if [[ ! $1 ]]; then
    echo -e "Usage:\n\n\t$0 'file name'"
    exit 1
fi

f=$(ls 2>/dev/null -l /proc/*/fd/* | fgrep "$1 (deleted" | awk '{print $9}')

if [[ $f ]]; then
    echo "fd $f found..."
    cp -v "$f" "$1"
else
    echo >&2 "No fd found..."
    exit 2
fi

Hay otro truco útil:si conoce un patrón en sus archivos eliminados, escriba alt +sistema +resultado para reiniciar + volver a montar en solo lectura, luego con un CD en vivo, use grep para buscar en el disco duro:

grep -a -C 500 'known pattern' /dev/sda | tee /tmp/recover

luego edite /tmp/recover para mantener solo lo que eran sus archivos antes.

Oye, si con la filosofía de Unix todo son archivos, es hora de aprovechar esto, ¿no?


Lo que funcionó para mí fue proporcionado por arch (solo se aplica a archivos de texto):

grep -a -C 200 -F 'Unique string in text file' /dev/sdXN

donde /dev/sdXN es la partición que contiene el archivo perdido (verificar con mount si no está seguro).

¡Toma un poco de tiempo, pero funcionó cuando borré accidentalmente un código fuente que aún no había confirmado!


Linux
  1. Mover archivos en Linux sin mv

  2. Cómo recuperar un archivo eliminado en Linux

  3. 10 ejemplos de comandos Cat para administrar archivos en Linux / UNIX

  4. En Linux/Unix, ¿importa .tar.gz versus .zip?

  5. ¿Cómo puedo recuperar/recuperar archivos de una partición ext4?

Comando AWK en Linux/Unix

Comando ls en Linux/UNIX

Cómo instalar TestDisk en Linux y recuperar archivos eliminados

Cómo usar PhotoRec para recuperar archivos borrados en Linux/Ubuntu

Cómo usar Linux para recuperar archivos borrados

Cómo comprimir un archivo en Linux