A volte le persone eliminano i file che non dovrebbero, un processo di lunga durata ha ancora il file aperto e il recupero dei dati catting /proc/<pid>/fd/N
non è abbastanza eccezionale. Sarebbe davvero fantastico se tu potessi "annullare" l'eliminazione eseguendo qualche opzione magica su ln che ti consentirebbe di ricollegarti al numero di inode (recuperato tramite lsof).
Non riesco a trovare alcun strumento Linux per fare questo, almeno con Google Google.
Che cosa hai, serverfault?
EDIT1: Il motivo per cui catturare il file /proc/<pid>/fd/N
non è abbastanza eccezionale è perché il processo che ha ancora il file aperto sta ancora scrivendo su di esso. Una cancellazione rimuove il riferimento all'inode dallo spazio dei nomi del filesystem. Quello che voglio è un modo per ricreare il riferimento.
EDIT2: 'debugfs ln' funziona ma il rischio è troppo alto poiché blocca i dati grezzi del filesystem. Il file recuperato è anche pazzo incoerente. Il conteggio dei collegamenti è zero e non riesco ad aggiungere collegamenti ad esso. Sto peggio in questo modo poiché posso semplicemente usare /proc/<pid>/fd/N
per accedere ai dati senza corrompere il mio fs.