Mount
從命令行呼叫 mount 時自動執行 fsck
我有一個安裝和解除安裝 USB 驅動器的備份腳本。
我只是注意到它警告我:
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
我的問題:執行掛載命令時,如何讓它自動執行 e2fsck?
這就是它的外觀
/etc/fsck
UUID=c870ccb3-e472-4a3e-8e82-65f4fdb73b38 /media/backup_disk_1 auto defaults,rw,noauto 0 3
<pass>
也是,所以3
我希望fsck
在需要時執行。編輯
根據給定的答案,這就是我最終這樣做的方式:
(在 Bash 腳本中)
function fsck_disk { UUID=$1 echo "Checking if we need to fsck $UUID" MCOUNT=`tune2fs -l "UUID=$UUID" 2> /dev/null | sed -n '/Mount count:\s\+/s///p'` if [ "$MCOUNT" -eq "$MCOUNT" ] 2> /dev/null then echo "Mount count = $MCOUNT" if (( $MCOUNT > 30 )) then echo "Time to fsck" fsck -a UUID=$UUID \ 1>> output.log \ 2>> error.log else echo "Not yet time to fsck" fi fi } fsck_disk a60b1234-c123-123e-b4d1-a4a111ab2222
根據
man fstab
:第六個欄位(fs_passno)。fsck(8) 程序使用該欄位來確定重新啟動時執行文件系統檢查的順序。根文件系統應指定 fs_passno 為 1,其他文件系統應指定 fs_passno 為 2。驅動器內的文件系統將按順序檢查,但不同驅動器上的文件系統將同時檢查以利用硬體中可用的並行性. 如果第六個欄位不存在或為零,則返回零值,並且 fsck 將假定不需要檢查文件系統。
3
虛空也是如此。此外,fstab
並非每次安裝設備時都會檢查對啟動時間的影響。因此,要在引導期間進行檢查,請將第 6 個欄位更改為2
。如果您想檢查每個安裝,您可以通過簡單的腳本甚至製作別名來完成(例如alias bk_mount='fsck -a UUID=c870ccb3-e472-4a3e-8e82-65f4fdb73b38 && \ mount /media/backup_disk_1'