Arch-Linux
定期執行 btrfs-scrub
btrfs-scrub
手冊頁說:使用者應該手動或通過定期系統服務執行它。建議的時間是一個月,但可能會更少。
對於
systemd
使用者來說,這是如何自動化的,擷取日誌中的所有輸出?我正在執行基於 Arch Linux 的 Manjaro。
作為一個非常懶惰的系統管理員,我想出了以下內容,它將啟動並啟用
btrfs-scrub@XXX.timer
所有目前安裝的btrfs
文件系統:awk '$3=="btrfs" { system("systemd-escape " $2 "| cut -c2-") }' /etc/fstab | while read -r fs; do [[ -z $fs ]] && fs=- # Set to '-' for the root FS sudo systemctl enable btrfs-scrub@"$fs".timer sudo systemctl start btrfs-scrub@"$fs".timer done
感謝@Head_on_a_Stick 為我指明了正確的方向。
Arch Linux 為 btrfs-progs 提供了一個 .timer 單元文件
btrfs-scrub
,可以通過以下方式啟動它:
systemctl enable btrfs-scrub@-.timer
@ 符號後面的破折號(“-”)用於表示根目錄,有關更多資訊,請參見 ArchWiki 頁面:
https://wiki.archlinux.org/index.php/Btrfs#Start_with_a_service_or_timer
要檢查狀態,請使用:
systemctl list-timers
或者:
journalctl -u btrfs-scrub@-.{timer,service}