USBドライブをマウントおよびマウント解除するバックアップスクリプトがあります。
警告が表示されたことを確認しました。
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
私の質問:mountコマンドを実行したときに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
答え1
によるとman fstab
:
ゲーム6(fs_passno).このフィールドは、fsck(8)プログラムが再起動時にファイルシステムチェックを実行する順序を決定するために使用されます。 fs_passnoは、ルートファイルシステムの場合は1、その他のファイルシステムの場合は2として指定する必要があります。ドライブ内のファイルシステムは順次チェックされますが、ハードウェアで利用可能な並列性を利用するために、他のドライブにあるファイルシステムは同時にチェックされます。 6番目のフィールドがない場合、または0の場合、0の値が返され、fsckはファイルシステムを確認する必要がないと仮定します。
したがって3
、空です。また、fstab
デバイスをインストールするたびに起動時間に与える影響は確認されません。したがって、起動中に確認するには、6番目のフィールドを2
。すべてのインストールを確認するには、単純なスクリプトを使用するか、別名(例:
alias bk_mount='fsck -a UUID=c870ccb3-e472-4a3e-8e82-65f4fdb73b38 && \
mount /media/backup_disk_1'
答え2
tune2fs -c 0 /dev/sdb
この警告は意味がないため、単に無視するか、次のように削除できます。特にext3 / 4の場合、Xをインストールした後にファイルシステムをfsckする理由はありません。これは90年代にext2が新しく出た時から残っているもので、人々はこれがただ「もし備えて」「良い考え」だと思いました。