今インタビューで尋ねた。誰かが/var/log/apache/access.log
Apacheログファイルの作成中に誤って削除した場合は復元できますか?
私の答えの後、インタビューはinode
ファイルシステムからApacheプロセスの詳細を回復し、/proc
ファイルを回復できると言いました。電話通話なので正しく理解できませんでした。
だから誰かがこれを説明できますか?
答え1
残念ながら、新しい名前をファイルシステムのinodeに関連付ける方法はありません。
ただし、ファイルの内容を新しいファイルにコピーできます。
# in shell 1
bash -c 'echo $$; exec cat >delfile'
27225
したがって、ファイルを開いたままにしているプロセスのPIDを確認する必要があります。次に、削除されたファイルのファイル記述子を確認します。
# in shell 2, same directory
$ rm delfile
$ ll /proc/27225/fd
insgesamt 0
lrwx------ 1 hl hauke 64 20. Jun 00:38 0 -> /dev/pts/4
l-wx------ 1 hl hauke 64 20. Jun 00:38 1 -> '/crypto/home/hl/tmp/delfile (deleted)'
lrwx------ 1 hl hauke 64 20. Jun 00:38 2 -> /dev/pts/4
その後、コンテンツをコピーできます。
cp /proc/27225/fd/1 restored_file