Как восстановить удаленный файл, который все еще открыт?

20

Как можно восстановить файл, который был удален, но все еще открыт процессом?

В блоге «Восстановление файлов из /proc» объясняется, как это сделать в Linux:

  1. Используйте lsof(например, lsof -c name), чтобы найти все файлы, открытые в данный момент для данного процесса (имя которого начинается с name). Из вывода вы узнаете процесс pidи дескриптор файла ( fd) файла, который вы ищете.
  2. Используйте cp /proc/<pid>/fd/<fd>/ tmp / restore-file`, чтобы сделать копию.

Первый шаг работает один на один и на OS X. Однако шаг 2 кажется более сложным. Есть ли похожая функция на OS X?

(Я пытался, /dev/fdно в моем случае он не содержал PID / FD моего процесса / файла.)

Hbf
источник

Ответы:

3

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

В зависимости от того, какой тип файла вам нужно восстановить, PhotoRec может найти его. Кроме того, бесплатная версия Disk Drill может быть полезна, и в зависимости от того, какая файловая система используется, есть небольшой шанс, что TestDisk может помочь (не полностью поддерживает файловые системы Mac, даже если он работает на OSX).

Стефания
источник
1
Тестдиск: cgsecurity.org/wiki/TestDisk ; Photorec : cgsecurity.org/wiki/PhotoRec - оба из них лучше, чем большинство других инструментов восстановления файлов, которые я использовал. Photorec не обязательно восстанавливает метаданные, но данные там. Возможно, это слишком поздно, но вы также можете запустить один из них с флэш-накопителя перед перезагрузкой, если считаете, что риск перезаписи секторов чем-то еще низок.
Ник
Спасибо @Stephanie, очень любезно с вашей стороны, за то, что поделились подходом и инструментами. Я задавал вопрос из интереса, чтобы узнать больше об OS X, так что, к счастью, безотлагательность (но я ценю ваш своевременный ответ!).
Hbf