web-dev-qa-db-fra.com

Récupération de fichiers supprimés accidentellement

J'ai accidentellement supprimé un fichier de mon ordinateur portable. J'utilise Fedora. Est-il possible de récupérer le fichier?

82
crskhr

Je déconseille d'installer immédiatement un utilitaire. Fondamentalement, votre plus grand ennemi est l'écriture sur disque. Vous voulez les éviter à tout prix dès maintenant.

Votre meilleur pari est une sauvegarde automatique créée par votre éditeur - si elle existe. Sinon, j'essaierais l'astuce suivante en utilisant grep si vous vous souvenez d'une chaîne unique dans votre fichier .tex:

$Sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

Remplacer /dev/sda1 avec le périphérique sur lequel se trouvait le fichier et remplacez 'string' avec la chaîne unique dans votre fichier. Cela pourrait prendre du temps. Mais en gros, ce que cela fait, c'est qu'il recherche la chaîne sur le périphérique, puis renvoie 100 lignes avant et après cette ligne et la place dans file.txt. Si vous avez besoin de renvoyer plus de lignes, ajustez simplement le -B et -A options appropriées. Vous pourriez obtenir un tas de déchets supplémentaires, mais vous devriez pouvoir récupérer votre texte.

Bonne chance.

95
Steven D

C'est possible, ça va juste être un problème.

MISE À JOUR: avant d'essayer cette méthode, veuillez jeter un œil à la réponse de Steven réponse .

Vous allez avoir besoin du paquet testdisk , beaucoup de espace disque et beaucoup de temps.

PhotoRec, une partie de TestDisk, peut récupérer des fichiers à partir de presque n'importe quel disque. PhotoRec fait support trouver .tex des dossiers.


Tout d'abord, installez testdisk en exécutant

yum install testdisk

remarque: vous allez avoir besoin de beaucoup d'espace libre sur un autre lecteur, où vous pouvez enregistrer les fichiers récupérés.

Récupérez tous les fichiers supprimés sur votre disque en exécutant photorec sur l'espace libre du disque.

Sudo photorec

et suivez les instructions ... (n'oubliez pas de ne pas enregistrer les fichiers sur le même disque que celui que vous récupérez)

Une fois le processus terminé, tous les fichiers récupérés doivent être dans un répertoire, où vous devez exécuter:

find -name '*.tex' > filelist

Cela produira une liste de fichiers qui pourraient être celui que vous avez perdu. Vous devrez tous les vérifier, car les noms de fichiers seront perdus.

23
Stefan

De nombreux éditeurs de texte conservent des fichiers de sauvegarde. Si vous êtes vraiment chanceux, il pourrait y avoir quelque chose comme yourfile.tex ~ incluant une version précédente de votre fichier.

13
fschmitt

Il existe d'autres outils de récupération de données et les plus efficaces sont avant tout , photorec , scalpel et sauvetage magique . (Je suppose que l'astuce 'grep' dit ici ne suffit pas) Vous trouverez ici quelques tutoriels sur la façon de les utiliser:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery

9
Attilio

Dans tous les cas, j'arrêterais de travailler sur le périphérique utilisé dès que possible pour éviter toute écriture sur le disque, et démarrerais dans un système d'exploitation de récupération dédié, comme SystemRescueCd , qui est un Live-CD pour que vous puissiez montez votre disque en lecture seule afin d'éviter de nouvelles pertes de données.

Ces distributions incluent de nombreux outils de récupération mentionnés par d'autres, et vous pouvez installer la plupart des outils manquants.

J'ai toujours tendance à avoir un CD avec une version récente de SystemRescueCd dans mon lecteur USB externe, juste au cas où.

4
Martin C.

REMARQUE: J'ai ajouté cette réponse concernant une autre question sur les fichiers de base de données supprimés (serveur MySQL) qui a été fermée et pointée vers celui-ci. Je pense que cela peut également être utile dans d'autres situations similaires (dans la mesure où certains processus maintiennent les descripteurs de fichiers ouverts).

Si votre processus est toujours en cours d'exécution, vous pouvez trouver vos fichiers dans /proc/<pid>fd/ et copiez-les. Envoyez d'abord SIGSTOP au groupe de processus. Copiez les fichiers. Créez une nouvelle instance sur le côté et gardez celle-ci arrêtée ou kill -9 et remettez les fichiers à leur place. InnoDB récupérera de lui-même lors de son exécution, mais s'il y avait un peu de MyISAM, vous devrez le faire manuellement.

3
pawel7318

J'ai accidentellement supprimé mon fichier db sqlite.

Ce que j'ai fait pour découvrir le fichier était,

Ouvert l'emplacement /proc/ dans un navigateur de fichiers et a recherché le fichier sqlite db supprimé là-bas.

J'ai découvert ce fichier dans un résultat de recherche. Copié ce fichier de là à mon ancien endroit.

2
Thaha kp

J'ai eu le même problème il y a deux ans et j'ai essayé beaucoup de programmes, comme debugfs, photorec, ext3grep et extundelete. ext3grep était le meilleur programme pour récupérer des fichiers. La syntaxe est très simple:

ext3grep image.img --restore-all

ou:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

Ce vidéo est un mini tutoriel qui peut vous aider.

0
Juan

Si vous n'avez pas de sauvegarde, un outil de récupération de disque tiers peut récupérer une partie ou la totalité des données, mais vous devez cesser d'utiliser la machine maintenant. Les fichiers mis à la corbeille sont maintenant disponibles pour votre système pour les remplacer. Une fois écrasés, il est extrêmement coûteux de récupérer les données. J'ai réussi à utiliser la récupération de données uflysoft (il existe d'autres applications de récupération de données Mac OS) - vous devez avoir un "lecteur de récupération" (pas votre lecteur principal ou vous en débarrasser) sur lequel enregistrer les données récupérées. Vous démarrez à partir du disque de récupération de données (système)

0
Gallup Noel