#!/bin/sh # intervalwarn sets the number of seconds prior to the check interval that we would like to be notified # a setting of zero will only warn when the interval has actually been exceeded # the notification will not be worded properly for values > 0 intervalwarn=0 # mountwarn defines how many mounts before maxmounts we would like to be notified mountwarn=1 # notice is the message that will be sent if fsck is imminent notice="Notice: fsck will automatically check /$dev if remounted (or upon server reboot). Use tune2fs for details." # noticesubject is the short description (or subject line) of the notice noticesubject="impending fsck notice" for dev in $(fsck -AN|sed "s/.* \///"|grep dev) do # will it fsck on remount/reboot due to unchecked mounts exceeding the max mounts setting? maxmountcount=$(tune2fs -l /$dev |grep "^Maximum mount count:"|sed -r 's/^.* ([0-9\-]*)$/\1/') mountcount=$(tune2fs -l /$dev |grep "^Mount count:"|sed -r 's/^.* ([0-9]*)$/\1/') let mountdiff=$maxmountcount-$mountcount if [["$mountdiff == "1"]] then #do stuff like set a factor fact or this: notify=true fi # will it fsck on remount/reboot due to the time since the last mount? # the "Next check after:" field will not be present if "Check interval" is 0 # (i.e. don't use that field in a script) lastcheck=$(tune2fs -l /$dev |grep "^Last checked:"|sed -r 's/^.*d:(.*)$/\1/') lastchecksecs=$(date -d "$lastchecked" +%s) checkinterval=$(tune2fs -l /$dev |grep "^Check interval:"|sed -r 's/^.*l:(.*)\(.*$/\1/') curdate=$(date +%s) let secsleft=$curdate-$checkinterval if [[ "$secsleft" <= "$intervalwarn" ]] then # do stuff like set a factor fact or this: notify=true fi done # send a notice if [[ "$notify" == "true" ]] then echo $notice | /bin/mail -s "$noticesubject" root fi
Discoveries, tips, and things I don't want to relearn about systems administration, automation, and tools.
Friday, February 19, 2010
Tell Whether fsck Is About to Check A Filesystem
How can one determine if a disk will be fsck'd at next boot? Basically, use tune2fs. Here's a potentially useful script. We probably also want to know which filesystems are set to never notify. That information is not captured in this script. This type of data will help when planning downtimes.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment