コマンドラインからマウントを呼び出すと、自動的にfsckを実行します。

コマンドラインからマウントを呼び出すと、自動的にfsckを実行します。

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'

おすすめ記事