Backup
如何用 btrfs 替換損壞的文件?
我也想使用 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
編寫腳本應該是可能的,但理論上這種損壞不應該經常發生。如果您最終遇到許多錯誤,則可能是應該解決的硬體問題,或者可能是軟體錯誤。