Ma mère a placé des fichiers importants sur son/tmp par accident. Maintenant, bien sûr, ils sont partis.
C'est arrivé hier (2 bottes de la machine depuis)
Je veux essayer de récupérer les fichiers. Ils étaient sur/tmp, qui était sur la même partition que le reste de /, donc j'ai besoin d'un outil qui tourne sur un système monté (ou peut-être que je pourrais utiliser un livecd ...)
En ce moment, j'essaie testdisk sur un systemrescuecd que je viens de télécharger. Je peux obtenir des fichiers de/tmp, mais pas tous. (est-ce le bon outil? Que sont exactement ces fichiers "rouges"? ne sont-ils que quelques-uns récupérables?)
Vous pouvez également utiliser extundelete
Commencez par démonter (umount
) le système de fichiers dans lequel les fichiers ont été supprimés.
Puis lisez le chapitre . Que faire si vous avez supprimé un fichier .
Vous pouvez installer extundelete
à partir du référentiel Ubuntu classique:
Sudo apt-get install extundelete
Ou mieux, vous pouvez télécharger le dernière version et le compiler:
cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2 #Replace *.*.* by the version
cd extundelete-*.*.*
Sudo apt-get install e2fslibs-dev #Required for compilation
./configure
make
Sudo make install
extundelete --version #Should be your *.*.* version
Exemple d'utilisation: restaurez tous les fichiers supprimés du répertoire Images
dans le nouveau répertoire créé restore
Sudo extundelete --restore-directory Images/ -o restore /dev/sda3
Mauvaise nouvelle si vous voyez votre fichier XXXX
dans le format suivant:
Unable to restore inode NNN (Images/XXXX): Space has been reallocated.
Voir tous les fichiers restaurés (recherchez votre fichier):
find restore -name '*'
Sauvegardez vos fichiers et supprimez ce répertoire temporaire restore
cp restore/Images/XXXX MY_BACKUP_DIRECTORY
Sudo rm -rf restore
La récupération de données, en particulier sur les systèmes de fichiers EXT, doit être tentée à partir d’un live CD ou d’un autre système ne dépendant pas de la partition sur laquelle vous annulez la suppression. Le fait de démonter le disque ou de le remonter en lecture seule aide beaucoup à la récupération.
La plupart du temps, j'essaie de créer une image de la partition ou du disque en utilisant dd
ou un outil similaire, de sorte que je ne travaille pas sur le disque lui-même:
dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img
Une fois que vous avez votre image, vous pouvez utiliser un outil tel que ext3grep
pour essayer de trouver les fichiers que vous recherchez. Vous pouvez essayer beaucoup de commutateurs différents, mais cela pourrait être un bon début:
ext3grep --restore-file 'tmp/moms-file.txt' recovery.img
L'utilitaire ext3grep
fournit également plusieurs méthodes différentes pour effectuer une recherche dans le système de fichiers si vous ne connaissez pas le nom du fichier. Vérifiez ext3grep --help
pour connaître les différentes méthodes de recherche.
J'ai préféré utiliser ext4magic comme:
Sudo ext4magic /dev/sdc3 -r -f $USERl/Documents/ -d /tmp/local/tmp/
Notez que vous devez résoudre le lien symbolique par votre propre
Références:
Analyser les blocs de données pour les données du répertoire EXT.
Une documentation détaillée sur EXT4 peut être trouvée ici:
Téléchargez le script Perl avec
git clone https://github.com/halpomeranz/analyzeEXT
Aucune garantie, mais peut être en mesure de reconstruire les systèmes de fichiers supprimés.
Je ne pouvais pas récupérer mon fichier crontab en utilisant ext4magic ou extundelete.
Sur Debian, la crontab pour root est ici:
/var/spool/cron/crontabs/root
Mais, en utilisant la commande suivante, j'ai pu au moins récupérer manuellement ma crontab à partir des journaux.
grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq
Il ne produira que les tâches cron exécutées (pas de minutage), mais au moins c'est beaucoup plus que de partir de zéro.
Si vous ne vous souvenez pas de la fréquence d'exécution de certains travaux cron, créez un journal complet, par exemple. syslog.1 et cela vous donnera le nombre de courses dans la journée:
grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n