オプション 1) 次に、extundelete を使用してファイルを復元する方法を紹介します (rhel6 に適した ext4。sda4 --inode 2 (削除したファイルを参照)
単一のディレクトリを復元します:
extundelete /dev/sdb1 - -restore-directory /mongodb ##mongodb はディレクトリです
誤って削除したファイルをすべて復元します:
extundelete /dev/sdb1 --restore-all
単一のファイルを復元します:
extundelete /dev/sdb1 --restore-ファイル a.txt
オプション 2) lsof に付属する謎の関数を使用する 原則: lsof に関連するほとんどの情報は、/var/log の場合、プロセスの PID に基づいて名前が付けられたディレクトリに保存されます。誤操作により /messages ファイルが削除された場合は、/var/log/messages ファイルを削除する必要があります。回復方法 は、まず lsof を使用して、現在 /var/logmessages を開いているプロセスがあるかどうかを確認します。次のようにファイルを作成します: # lsof |grep /var/log/messages
syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted)
上記の情報から、 PID 1283 (syslogd) によって開かれたファイルのファイル記述子は 2 です。同時に、/var/log
/messages が削除対象としてマークされていることもわかります。
リカバリ: cat /proc/1283/fd/2 > /var/log/messages リカバリは成功しました多くのアプリケーション、特にログファイルとデータベースの場合、このリカバリ方法はファイルを削除します役に立つ。