若者の初めてのデータベース削除と逃亡
この出来事の原因は server 醤でしたが、最新の状態(深夜?)に成功裏に回復できたのも server 醤のおかげです。
深夜十数分、server 醤を更新し、サーバーを再起動しました(サーバーは起動時に常にバックアップを取ります)。そして zyf がログインして助けてくれました。
Xbox の認証を解除し、worlds フォルダ内のバックアップを見つけました。zyf の指示に従い、バックアップは毎日取られているようです。しかし、サーバーは実際には頻繁に再起動しているため、いくつかの余分なバックアップがありました。私はそれらのバックアップを見て不快に感じ、それらを選択して削除しました - 確認しました。しかし、私は騙されました。クソの vscode は worlds フォルダを展開すると、worlds フォルダ全体を選択してしまいました。その結果、セーブデータとバックアップを含む worlds フォルダ全体が削除されました。
しかし、私は気づきませんでした。サーバーは引き続き起動していました。新しい世界が現れたことに気づくまでです。worlds フォルダを開いてみると、すべてが消えていることに気づきました。
しかし、私は機転が利き、すぐに強力なツールである extundelete を見つけました。再度サーバーを借り(スポンサー zyf に感謝)、元のシステムディスクをデータディスクとしてマウントし、次のコマンドを実行しました。
extundelete /dev/vdb1 --restore-file /root/worlds
extundelete は 2 つのバックアップをスキャンして復元したように見せかけました。。。
その後、ブロックファイルが 1 つだけ復元されていることに気づきました。これは明らかに何も復元されていないのと同じです。
その後、foremost を試してみましたが、復元されたファイルのファイル名が判別できないことがわかりました。これは全く使い物になりません。なぜなら、ブロックファイルのファイル名も規則性のない数字であり、復元されたファイルと一致させることができないからです。
その後、extundelete にはディレクトリを復元するオプションがあることに気づきました。
extundelete /dev/vdb1 --restore-directory /root/worlds
しかし、実行すると常に "not such directory" と表示されました。調べてみると、出力ディレクトリが指定されていないことが原因であることがわかりました。-o shit を追加するだけで解決しました。
正しいバックアップ、最新のバックアップ、server 醤の更新直後に保存されたバックアップが、最初に現れた状態で復元されていることに気づきました。復元されなかったクソフォルダに入っていました。。。
バックアップをコピーしてサーバーを起動 - OK。