最近、ハードドライブがクラッシュしてコマンドを実行する必要がありましたfsck
。多くのファイルがこのフォルダに移動され、lost+found
重要なファイルを使用して検索しましたが、SQLデータベースが見つかりませんでした。find
grep
質問
- Lost+found ディレクトリで InnoDB データベースを検索するにはどうすればよいですか?
- fsckが私のSQLデータベースを保存していない可能性はありますか?
- それでは、このファイルを回復できますか?
答え1
試み#1:
おそらくまだそこにいるかもしれませんが、名前がfe /lost+found/#3456254などに変更されました。あなたの立場で私はinnodbをgrepしてfile -szL
すべてを繰り返しました/lost+found
。
find /lost+found -type f|xargs -P 1 -n 500 file -szL|grep -i innodb
innodb データベースもあれば、データを保存できます。頑張ってください!
試み#2:
データベースにテキストデータが多い場合は、セクターベースの16進検索も役立ちます。
答え2
問題のファイルは削除されたため、fsckを介して再構成できません。 fsckプログラムは、最善の努力をしてファイルを回復し、再構築しようとします。しかし、これは決してどんな種類のバックアップでもありません。 fsckが実行するすべての操作はデフォルトで元に戻すことはできません。
"lost + found"ディレクトリに含まれているMySQLデータベース部分を使用しようとするときは非常に注意する必要があります。これは、データベースが1つのファイルに含まれておらず、複数のファイルに含まれているためです。ファイルにデータベースを復元してください。どのような信頼性やデータの整合性にもパターンはありません。
ファイルの回復に関しては申し訳ありません。データが重要なため、実行していたバックアップに戻る必要があります。そうでなければ本当に幸運ではありません。
データが非常に重要な場合は、さまざまなデータ復旧サービスの1つに助けを求めることができます。費用がかかり、結果は完璧ではありません。
答え3
私はあなたに運がないと信じています。唯一のオプションは、lost+found
ディレクトリを参照して各ファイルを視覚的に調べて、元の名前の手がかりを見つけることです。
未来
次のタイトルのブログ投稿があります。アップデート:失われたファイルと見つかったファイルの自動回復では、この状況に役立つ可能性のある2つのツールについて説明します。
make-lsLR.sh
- この関数(cron)は定期的に呼び出され、/ root /に保存されている必須ファイルを生成します。もちろん、場所を簡単に変更し、他のディレクトリを検索から除外することもできます。
check_lost+found.py
- fsckがファイルをスクランブルしてLost + foundディレクトリに保存すると、2番目のスクリプトが実行されます。 3つのパラメータが必要です。1)混乱したLost + foundディレクトリを含むソースディレクトリ、2)データが保存されるターゲットディレクトリ、3)テスト実行ではなく実際に実行されるスイッチ。
両方のスクリプトは連携して動作し、最初のスクリプトはシステム上のファイルのインベントリを構築するために定期的に実行する必要があります。ディレクトリからファイルを復元する必要がある場合は、2番目のlost+found
スクリプトでこのマニフェストを使用できます。