it-swarm-ru.tech

Восстановление случайно удаленных файлов

Я случайно удалил файл с моего ноутбука. Я использую Fedora. Возможно ли восстановить файл?

82
crskhr

Я бы посоветовал не устанавливать сразу какую-либо утилиту. По сути, ваш самый большой враг здесь - запись на диск. Вы хотите избежать их любой ценой прямо сейчас.

Ваша лучшая ставка - это автоматическое резервное копирование, созданное вашим редактором - если оно существует. Если нет, я бы попробовал следующий трюк с использованием grep, если вы помните какую-то уникальную строку в вашем файле .tex:

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

Заменить /dev/sda1 с устройством, на котором был файл, и замените 'string' с уникальной строкой в ​​вашем файле. Это может занять некоторое время. Но в основном он ищет строку на устройстве, а затем возвращает 100 строк до и после этой строки и помещает ее в file.txt. Если вам нужно больше строк, просто настройте -B а также -A параметры в зависимости от обстоятельств. Вы можете получить кучу лишнего мусора, но вы сможете вернуть свой текст.

Удачи.

95
Steven D

Это возможно, это просто будет хлопот.

ОБНОВЛЕНИЕ: прежде чем вы попробуете этот метод, пожалуйста, посмотрите на Стивена ответ .

Вам понадобится пакет testdisk , много дискового пространства и много времени.

PhotoRec, входящий в состав TestDisk, может восстанавливать файлы практически с любого диска. PhotoRec делает поддержка поиск .tex файлы.


Сначала установите тестовый диск , запустив

yum install testdisk

примечание: вам понадобится много свободного места на другом диске, где вы сможете сохранить восстановленные файлы.

Восстановите все удаленные файлы на вашем диске, запустив photorec на свободном месте диска.

Sudo photorec

и следуйте инструкциям ... (не забудьте сохранить файлы на тот же диск, с которого вы восстанавливаете)

После завершения процесса все восстановленные файлы должны находиться в одном каталоге, где вы должны выполнить:

find -name '*.tex' > filelist

Это выведет список файлов, которые могут быть тем, который вы потеряли. Вам придется проверить все из них, так как имена файлов будут потеряны.

23
Stefan

Многие текстовые редакторы хранят файлы резервных копий. Если вам действительно повезло, может быть что-то вроде yourfile.tex ~, включая предыдущую версию вашего файла.

13
fschmitt

Существуют и другие инструменты для восстановления данных, и наиболее эффективными являются передовые , photorec , скальпель и магическое спасение . (Я предполагаю, что трюк 'grep' сказал здесь недостаточно) Здесь вы можете найти несколько уроков о том, как их использовать:

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

В любом случае я бы прекратил работать на используемом устройстве как можно скорее, чтобы избежать записи на диск, и загрузился бы в специальную операционную систему восстановления, например SystemRescueCd , которая является Live-CD, так что вы можете смонтировать диск только для чтения, чтобы предотвратить дальнейшую потерю данных.

Эти дистрибутивы включают в себя множество инструментов восстановления, упомянутых другими, и вы можете установить большинство отсутствующих.

На всякий случай, я всегда склонен иметь компакт-диск с последней версией SystemRescueCd в моем внешнем USB-ридере.

4
Martin C.

ПРИМЕЧАНИЕ: Я добавил этот ответ относительно какого-то другого вопроса об удаленных файлах базы данных (сервер MySQL), который был закрыт и указывал на этот. Я полагаю, что это может быть полезно и в некоторых других подобных ситуациях (поскольку некоторый процесс все еще держит дескрипторы файлов открытыми).

Если ваш процесс все еще выполняется, вы можете найти ваши файлы в /proc/<pid>fd/ и ​​просто скопируйте их. Сначала отправьте SIGSTOP группе процессов. Скопируйте файлы. Создайте новый экземпляр на стороне и держите его остановленным или kill -9 и ​​поместите файлы обратно на свои места. InnoDB будет восстанавливаться самостоятельно при запуске, но если MyISAM было немного, вам придется делать это вручную.

3
pawel7318

Я случайно удалил свой файл базы данных sqlite.

Что я сделал, чтобы выяснить файл,

Открыл локацию /proc/ в файловом браузере и искал там удаленный файл базы данных sqlite.

Я обнаружил этот файл в результате поиска. Скопировал этот файл оттуда в мое старое место.

2
Thaha kp

У меня была такая же проблема два года назад, и я пробовал много программ, таких как debugfs, photorec, ext3grep и extundelete. ext3grep была лучшей программой для восстановления файлов. Синтаксис очень прост:

ext3grep image.img --restore-all

или:

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’

Это видео это мини-учебник, который может вам помочь.

0
Juan

Если у вас нет резервной копии, инструмент восстановления диска стороннего производителя может восстановить некоторые или все данные, но вы должны прекратить использование машины сейчас. Удаленные файлы теперь доступны для вашей системы, чтобы перезаписать их. Как только они будут перезаписаны, восстановление данных будет чрезмерно дорогостоящим. Я успешно использовал восстановление данных uflysoft (есть другие приложения для восстановления данных Mac OS) - у вас должен быть "диск восстановления" (не ваш основной диск или диск, с которого вы извлекаете информацию), на котором можно сохранить восстановленные данные. Вы загружаетесь с диска восстановления данных (системы)

0
Gallup Noel