また、ファイルが破損していることを知らせ、スナップショットも利用できるので、バックアップにbtrfsを使用したいと思います。 btrfsが私のバックアップドライブで破損したファイルを見つけましたが、破損していない元のファイルがまだ残っているとしましょう。バックアップファイルを復元し、それを使用して古いスナップショットを復元する方法はありますか?
答え1
クリーンアップを実行してデータの問題を検出/修正できます。
btrfs scrub start /mnt/backup
完了後に修復できないエラーがある場合は、dmesg
エラーのあるファイルの詳細を検索してください。その後、自宅の場所からファイルをコピーします。
cp /path/to/file /mnt/backup/snapshot/path/to/file
もちろん、破損したすべてのスナップショットに対してこれを行う必要があります。スナップショットが読み取り専用の場合は、最初に書き込み可能にし、ファイルをコピーしてから読み取り専用に設定する必要があります。
btrfs property set -ts /mnt/backup/snapshot ro false
cp /path/to/file /mnt/backup/snapshot/path/to/file
btrfs property set -ts /mnt/backup/snapshot ro true
スクリプトを書くことは可能でなければなりませんが、理論的にはこの種のダメージが頻繁に発生してはいけません。エラーが多い場合は、修正する必要があるハードウェアの問題、またはソフトウェアのバグの可能性があります。