И так ситуация: у вас случайно были удалены очень нужные файлы на разделе с ext3.Что же делать? Вешаццо? Стреляццо?
Некоторые несознательные личности, конечно, скажут, мол, болт с ними, с файлами, и да порнуха та, была не так уж и нужна, и что музон с киношками можно накачать по новой. Соглашусь, но если в трэш улетели документы и отчеты (архивы, проекты и т.д. и т.п.), которые, делались не один день и их, к примеру, завтра утром, нужно предъявить шефу/заказчику/преподу, то это повод для покупки вазелина с ромашковым запахом.

Но вот утих первый взрыв горя, и когда, вырванный в порыве отчаянья, клок шевелюры будет упорно отказываться сесть на старое место, вдруг внезапно осенит: «э… а чо, нельзя шо ли как нидь тово их… назад?!»

Конечно можно, этим сейчас и займёмся :)

Сразу скажу, что восстановление удаленных файлов дело вероятностное, и чем больше времени пройдёт от момента стирания до попытки восстановления, тем менее вероятно получить назад свои файлики в целости.

Итак, для примера, пусть на машине будет раздел /dev/sda2 с файловой системой ext3, на которой нужно восстановить удаленные файлы.

Кстати, если затрудняетесь на каком именно разделе восстанавливать файлы, то будет не лишним заглянуть в /etc/fstab , в котором описываются используемые файловые системы и точки их подключения, а также посмотреть в консоли вывод команды df -kh

Устанавливаем пакет ext3grep, и под рутом, в консоли, начинаем работу:

  • Чтобы восстановить конкретный удаленный файл /home/user/topsecret/1.txt на разделе /dev/sda2

    ext3grep /dev/sda2 —restore-file home/user/topsecret/1.txt

  • Для восстановления папки /home/user/topsecret/ в разделе /dev/sda2:

    ext3grep /dev/sda2 —restore-file /home/user/topsecret/

  • Если точный путь до удаленного имущества не известен, то можно получить дамп путей стёртых файлов/папок и работать по нему, восстанавливая, как уже описано выше:

    ext3grep /dev/sda2 —dump-names

  • Если нет времени на получение дампа путей, можно запустить восстановление для всего раздела.

    ext3grep /dev/sda2 —restore-all

    Однако, в этом случае утилита ext3grep попытается восстановить всё, что сможет, а нам нужно только то, что было стёрто, предположим, не позднее двух часов назад. Для этого в программе есть специальные фильтры, позволяющие четко определить временные рамки для обработки стертых файлов.
    Фильтр —before определяет, что обрабатываться будут только файлы и папки стёртые до указанной даты и времени, а фильтр —after, что обрабатываться будут только файлы и папки удаленные после указанной даты и времени.
    Дата и время для этих фильтров указывается в формате UNIX-времени (UNIX-time)
    Переконвертировать нужное время в Unix-time можно в онлайн Unix-time конверторе или прямо в консоли:

    date -d «2009-09-11 00:45:00-00:00″ +%s

    Предположим, что два часа назад, когда у нас данные еще не были удалены, были справедливы указанные выше дата и время, в Unix-time это значение 1252629900 , его то и подставим в фильтр —after

    Итак, чтобы запустить восстановление содержимого раздела /backup/sda2 , стертого не более чем два часа назад, пишем:

    ext3grep /backup/sda2 —restore-all —after=1252629900

Все восстановленные файлы будут записаны в папку RESTORED_FILES, находящуюся в «хомяке».

Вот и всё, этой информации вполне хватит для оперативного восстановления удаленных файлов, а для более детального ознакомления с утилитой ext3grep могу сказать одно: man ext3grep :)

Поделись с другими:
  • Twitter
  • Добавить ВКонтакте заметку об этой странице
  • Facebook
  • Мой Мир
  • MySpace
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • FriendFeed
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • MisterWong.RU
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Orkut
  • Yahoo! Buzz