GNU/Linux >> Tutoriels Linux >  >> Linux

Unix/Linux restaure/récupère les fichiers supprimés

Le lien que quelqu'un a fourni dans les commentaires est probablement votre meilleure chance.

Hack de débogage Linux :restaurer des fichiers

Cet article, bien qu'il semble un peu intimidant, est en fait assez simple à suivre. En général, les étapes sont les suivantes :

  1. Utilisez debugfs pour afficher un journal des systèmes de fichiers

    $ debugfs -w /dev/mapper/wks01-root
    
  2. À l'invite de débogage

    debugfs: lsdel
    
  3. Exemple de sortie

    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. Exécutez la commande dans debugfs

    debugfs: logdump -i <7536655>
    
  5. Déterminer l'inode des fichiers

    ...
    ...
    ....
    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. Avec les informations d'inode ci-dessus, exécutez les commandes suivantes

    # 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
    

Les fichiers ont été récupérés dans recovered.file.001 .

Autres options

Si ce qui précède n'est pas pour vous, j'ai utilisé des outils tels que photorec pour récupérer des fichiers dans le passé, mais il est conçu uniquement pour les fichiers image. J'ai beaucoup écrit sur cette méthode sur mon blog dans cet article intitulé :

Comment récupérer des fichiers jpeg et mov corrompus à partir de la carte SDD d'un appareil photo numérique sur Fedora/CentOS/RHEL.


Avec un peu de chance, je peux parfois récupérer des fichiers supprimés avec ce script ou la solution suivante dans la réponse :

#!/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

Il existe une autre astuce utile :si vous connaissez un modèle dans vos fichiers supprimés, tapez alt +sys +résultat pour reboot+remount en lecture seule, puis avec un live-cd, utilisez grep pour chercher dans le disque dur :

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

puis éditez /tmp/recover pour ne conserver que ce qui était votre/vos fichier(s) avant.

Hé, si avec la philosophie unix tout est fichiers, il est temps d'en profiter, non ?


Ce qui a fonctionné pour moi a été donné par arch (s'applique uniquement aux fichiers texte):

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

/dev/sdXN est la partition contenant le fichier perdu (vérifier avec mount en cas de doute).

Cela prend un peu de temps, mais a fonctionné lorsque j'ai accidentellement supprimé du code source que je n'avais pas encore validé !


Linux
  1. Déplacer des fichiers sur Linux sans mv

  2. Comment récupérer un fichier supprimé sous Linux

  3. Récupérer un fichier supprimé ? ?

  4. 10 exemples de commandes Cat pour gérer des fichiers sous Linux / UNIX

  5. Sous Linux/Unix, est-ce que .tar.gz par rapport à .zip est important ?

Commande AWK sous Linux/Unix

Commande ls sous Linux/UNIX

Comment installer TestDisk sur Linux et récupérer des fichiers supprimés

Comment utiliser PhotoRec pour récupérer des fichiers supprimés sous Linux/Ubuntu

Comment utiliser Linux pour récupérer des fichiers supprimés

Comment compresser un fichier sous Linux