Czasami ludzie usuwają pliki, których nie powinni, długotrwały proces nadal ma otwarty plik, a odzyskiwanie danych przez catting /proc/<pid>/fd/N
po prostu nie jest wystarczająco niesamowite. Wystarczająco niesamowite byłoby, gdybyś mógł „cofnąć” usunięcie, uruchamiając jakąś magiczną opcję ln, która pozwoliłaby ci ponownie połączyć się z numerem i-węzła (odzyskanym przez lsof).
Nie mogę znaleźć żadnych narzędzi do Linuksa, aby to zrobić, a przynajmniej pobieżnego Googlinga.
Co masz, błąd serwera?
EDYCJA 1: Powodem, dla którego catowanie pliku /proc/<pid>/fd/N
nie jest wystarczająco niesamowite, jest to, że proces, który wciąż ma otwarty plik, wciąż do niego zapisuje. Usunięcie usuwa odwołanie do i-węzła z przestrzeni nazw systemu plików. To, czego chcę, to sposób na odtworzenie referencji.
EDYCJA 2: „debugfs ln” działa, ale ryzyko jest zbyt wysokie, ponieważ frobuje surowe dane systemu plików. Odzyskany plik jest również szalony niespójny. Liczba linków wynosi zero i nie mogę dodawać do nich linków. Mam gorzej, ponieważ mogę po prostu /proc/<pid>/fd/N
uzyskiwać dostęp do danych bez uszkadzania mojego fs.