現在記録中の削除されたファイルを回復します。

現在記録中の削除されたファイルを回復します。

大容量ファイルのダウンロードを開始しましたが、しばらく前に誤って削除しました。cpingを介して現在のコンテンツを取得する方法を知っていますが、/proc/<pid>/fd/<fd>ダウンロードがまだ進行中であるため、他の場所にコピーすると不完全になります。

ダウンロードは完了しましたが、ダウンローダがファイルを閉じる前にファイルを救出できますか?

答え1

フォローモードで使用すると、tail好きなことができます。

tail -n +0 -f /proc/<pid>/fd/<fd> > abc.deleted

私は簡単なテストをしましたが、ここではうまくいくようです。ファイルがバイナリかどうかは言及していません。私の主な関心事は、ファイルの先頭からコピーされない可能性があることです。ただし、-n + 0パラメーターはバイナリファイルに対してもコピーを実行する必要があります。

tailコマンドはダウンロードが終了しても終了しない可能性があるため、直接終了する必要があります。

答え2

実は別の考えがあります。別のコマンドを使用して/proc/<pid>/fd/<fd>プログラムを読み取り、実行を続ける場合は、ダウンロードが完了したら、/proc/<pid2>/fd/<fd2>2番目のコマンドの対応するファイルからコピーできます。

一度試してください

less /proc/<pid>/fd/<fd>

別のエンクロージャに。 / procエントリでlessコマンドを表示すると、削除されたファイルが表示されます。

関連情報