Ich habe eine Datei, die heruntergeladen wird (von einer Quelle, von der es schwierig ist, sie erneut herunterzuladen), die jedoch versehentlich aus dem Dateisystem-Namespace (/ tmp / blah) gelöscht wurde, und ich möchte diese Datei wiederherstellen.
Normalerweise könnte ich nur cp /proc/$PID/fd/$FD /tmp/blah
, aber in diesem Fall würde mir das nur einen Teilschnappschuss bringen, da die Datei noch heruntergeladen wird. Sobald der Download abgeschlossen ist, wird der FD durch den Downloadvorgang (z. B. Chrome) geschlossen.
Gibt es eine Möglichkeit, durch Inode wiederherzustellen / eine feste Verbindung herzustellen? Irgendwelche anderen Lösungen? Wenn es einen Unterschied macht, beschäftige ich mich hauptsächlich mit ext4.
quelle
Das fdlink- Projekt, das aus einem Linux-Kernelmodul und einer einfachen Anwendung besteht, soll einen neuen Link zu einem offenen Dateideskriptor erstellen. Ich habe es nicht versucht.
quelle
Dadurch wird die Aufgabe erledigt, jedoch nicht durch Wiederherstellen des Inodes:
Oder stoppen Sie den Download in Chrome einfach manuell, wenn Sie nicht den gesamten Browser beenden möchten.
quelle
Wenn Sie einen festen Link dazu erstellen möchten, müssen Sie die Option -s (siehe
man ln
) verwenden, also im fd-Verzeichnis ausführenls -f
und die Dateinummer (meistens zweistellige Zahlen) herausfinden und aln NUMBER destination-file -s
quelle