Моя мама поместила несколько важных файлов в ее / tmp за несчастный случай. Теперь, конечно, они ушли.
Это произошло вчера (2 загрузки машины с тех пор)
Я хочу попытаться восстановить файлы. Они были в / tmp, который находился в том же разделе, что и остальные /, поэтому мне нужен инструмент, работающий на смонтированной системе (или, может быть, я мог бы использовать livecd ...)
Прямо сейчас Я пробую testdisk на systemrescuecd, который я только что скачал. Я могу получить некоторые файлы из / tmp, но не все. (это правильный инструмент? Что это за «красные» файлы? только некоторые из них можно восстановить?)
Можно также использовать extundelete
Первое размонтирование (umount
) файловая система, где файлы были удалены.
Затем прочитайте главу, Что сделать при удалении файла.
Можно установить extundelete
из классического репозитория Ubuntu:
sudo apt-get install extundelete
Или лучше, можно загрузить последнюю версию и скомпилировать ее:
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
Пример использования: восстановите все удаленные файлы из каталога Images
в новый созданный каталог restore
sudo extundelete --restore-directory Images/ -o restore /dev/sda3
Плохие новости, если Вы видите свой файл XXXX
в следующем формате:
Unable to restore inode NNN (Images/XXXX): Space has been reallocated.
Посмотрите все восстановленные файлы (ищите свой файл):
find restore -name '*'
Скопируйте свой файл (файлы) и удалите этот временный каталог restore
cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore
Разбор блоков данных для данных каталога EXT.
Подробную документацию по EXT4 можно найти здесь:
Загрузить сценарий perl с
git clone https://github.com/halpomeranz/analyzeEXT
Не гарантировано, но возможно быть в состоянии восстановить удаленные файловые системы.
Я не смог восстановить файл crontab с помощью ext4magic или extundelete.
В Debian crontab для root находится здесь:
/var/spool/cron/crontabs/root
Но, используя следующую команду, я смог хотя бы вручную восстановить свой crontab из журналов.
grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq
Он будет выводить только выполненные задания хрон (без времени), но по крайней мере это намного больше, чем начинать с нуля.
Если вы не помните, как часто выполняются определенные задания cron, возьмите полный журнал, например, syslog.1, и это даст вам счет за пробеги через день:
grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n
Я предпочел использовать ext4magic как:
sudo ext4magic /dev/sdc3 -r -f $USERl/Documents/ -d /tmp/local/tmp/
Обратите внимание, что вы должны разрешить символическую ссылку своими
. Ссылки:
Восстановление данных, особенно в файловых системах EXT, следует пытаться выполнить с живого компакт-диска или другой системы, которая не зависит от раздела, с которого вы удаляете данные. Извлечение или повторное подключение диска только для чтения очень помогает в восстановлении.
Большую часть времени я пытаюсь создать образ раздела или диска, используя dd
или аналогичный инструмент, так что я не работаю над самим диском:
dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img
Однажды вы Имея свое изображение, вы можете использовать инструмент, например ext3grep
, чтобы попытаться найти файлы, которые вы ищете. Есть много разных переключателей, которые вы можете попробовать, но это может быть хорошим началом:
ext3grep --restore-file 'tmp/moms-file.txt' recovery.img
Утилита ext3grep
также предоставляет несколько различных способов поиска в файловой системе, если вы не знаете имя файла. Проверьте ext3grep --help
для различных методов поиска.