Backup

如何用 btrfs 替換損壞的文件?

  • November 8, 2017

我也想使用 btrfs 進行備份,因為它可以告訴我文件是否損壞並且我也可以使用快照。讓我們假設 btrfs 在我的備份驅動器上發現了一個損壞的文件,而我仍然擁有沒有損壞的原始文件。有沒有辦法修復備份文件並用它修復我的舊快照?

您將執行清理以檢測/修復任何數據問題:

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

編寫腳本應該是可能的,但理論上這種損壞不應該經常發生。如果您最終遇到許多錯誤,則可能是應該解決的硬體問題,或者可能是軟體錯誤。

快照

btrfs 屬性

引用自:https://unix.stackexchange.com/questions/401263