誤ってファイルを削除してしまった経験はありませんか?分かった瞬間、一気に血の気が引いていくような感覚がありますよね。そんな不測の事態に陥っても慌てることなく対処できるツールがファイル復旧ツールです。
ソフトウェアを使う他にも幾つか行っておくと良い施策があります。
バックアップ
当たり前ですがまずはバックアップが第一です。外部ストレージにバックアップはきちんと確保されているでしょうか。サーバに全て保存されている場合、バックアップを取る手間はいりませんが、サーバ管理者は逆にリスクが集約されるのでバックアップを万端で取らないとなりません。
しかしバックアップは通常バッチ処理で行われます。そのため前日や一週間前の状態には戻せても3分前の状態には戻せないものが多いです。またバックアップ先によっては復元は非常に手間のかかる作業であったりします。その辺りの特性は適切に認識する必要があるでしょう。
Dropbox有料プラン
Dropboxでは間違って削除したファイルを復元したり、過去バージョンに戻す機能があります。筆者は当初から有料プランだったので気付かなかったのですが、これは無料ユーザの場合制限があるまたは使えないもののようです。
個人的にはこの過去バージョンの保存機能で何度救われたか分かりません。そのためだけでも有料プランに入る価値があると思います。ただしDropboxはネットワークありきなので、オフラインで作業中において誤った編集や削除は戻せない可能性があります。この点も特性として理解が必要です。
USBドライブにファイル復旧ツール
ファイルを誤って削除してしまった後、復旧ツールをダウンロードするのは愚の骨頂です。ゴミ箱から消した程度であれば、それは単にフラグが立っているだけなので復旧できる可能性は高いです。しかしその後何らか操作をすれば、データ領域が上書きされてしまう可能性があります。
そのためにもファイル復旧系のツールは予めダウンロードし、USBメモリなどに入れておくのが良いでしょう。
alias
CLIでファイル削除を防いでくれるコマンドがありますが、操作をミスした時が問題なので、気付いてからでは遅いというのが一般的です。そのため転ばぬ先の杖が常に大事になります。alias rm=hoge rm といったようなラッピングをしておくべきでしょう。
バージョン管理
ファイルの誤操作を防ぐのにバージョン管理は重要な役割を果たしてくれます。開発者の方であればその恩恵にあずかったことは一度や二度ではないでしょう。複数人で同じフォルダを触る場合も同様です。
しかしバージョン管理はファイルの復旧はできるものの、それを探す作業が意外と大変だったりします。削除された行を探すのも同様です。とは言え、バージョン管理内でファイルをリネームして管理なんていうのは格好わるいですが。
オープンソース・ソフトウェア
コマンドラインで実行して失敗した!と気付くことってありますよね。大抵Linux/Unix系のコマンドは可逆ではないので失敗したと後から気付いてもまさに後の祭りになります。rmとかファイルの編集、GitやSubversionのチェックアウトなどです。そんな時に活躍するのがUncoです。ファイル変更に関わるコマンドをUndo可能にするすごいツールです。使い方は簡単で、実際に実行するコマンドの前に unco record -- を付けるだけです。例えば、