У меня есть файл, который загружается (из источника, который трудно перезагружать), но случайно удален из пространства имен файловой системы (/ tmp / blah), и я хотел бы восстановить этот файл.
Обычно я мог бы просто cp /proc/$PID/fd/$FD /tmp/blah
, но в этом случае это получило бы только частичный снимок, так как файл все еще загружается. Кроме того, после завершения загрузки процесс загрузки (например, Chrome) закроет FD.
Любой способ восстановить с помощью inode / создать жесткую ссылку? Любые другие решения? Если это имеет какое-то значение, меня больше всего интересует ext4.
Проект fdlink , состоящий из модуля ядра Linux и простого приложения, предназначен для создания новой ссылки на дескриптор открытого файла. Я не пробовал это.
источник
Это выполнит работу, но не через восстановление inode:
Или просто вручную остановите загрузку в Chrome, если вы не хотите убивать весь браузер.
источник
Если вы хотите сделать жесткую ссылку на это, вы должны использовать опцию -s (см.
man ln
), Чтобы в каталоге fd запуститьls -f
и найти номер файла (в основном двузначные числа) и сделатьln NUMBER destination-file -s
источник