結論
extundelete
を用います。2018/10/23 現在では 0.2.4
が最新版です。
インストール方法
コンパイルする
自前でコンパイルする必要があります。ソースをダウンロードしてからコンパイルします。下記では書き出し先に/tmp/extundelete
を指定しています。永続的にインストールしたい場合は適宜ファイルを移動して下さい。
$ curl -L http://sourceforge.net/projects/extundelete/files/extundelete/0.2.4/extundelete-0.2.4.tar.bz2/download | tar xj $ cd extundelete-0.2.4 $ ./configure --prefix=/tmp/extundelete && make && make install
ライブラリが足りない場合は公式サイトの記述を参考にして下さい。CentOS では e2fsprogs-devel
、Ubuntu では e2fslibs-dev
を入れればいいでしょう。
実行するためのオプション
コンパイルができたら実行します。上記の書き出し先設定の場合はバイナリが /tmp/extundelete/bin/extundelete
になります。実行時のオプションはたくさんありますが、ここでは --after
と --restore-all
を指定します。
--after
は特定の日時以降に削除されたファイルを復元するために指定するオプションです。UNIXタイムで指定します。
--restore-all
は復元するファイルやディレクトリを指定せず、全てのファイルやディレクトリを復元するためのオプションです。
実行する
コマンドを実行します。具体的なコマンド例は以下のようになります。復元されるファイルが置かれる場所はカレントディレクトリ配下です。対象のストレージは /dev/sdb5
です。
$ sudo /tmp/extundelete/bin/extundelete --after 1234567890 --restore-all /dev/sdb5
これでしばらく待つとカレントディレクトリに RECOVERED_FILES
というディレクトリが作られ、その配下にファイルやディレクトリが復元されます。
補足
- 復元できないこともあります
- やばいと思ったらとにかくすぐリードオンリーにしてアンマウントしましょう
ext3
およびext4
が対象です。