You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
#!/bin/sh |
|
# |
|
# e2croncheck -- run e2fsck automatically out of /etc/cron.weekly |
|
# |
|
# This script is intended to be run by the system administrator |
|
# periodically from the command line, or to be run once a week |
|
# or so by the cron daemon to check a mounted filesystem (normally |
|
# the root filesystem, but it could be used to check other filesystems |
|
# that are always mounted when the system is booted). |
|
# |
|
# Make sure you customize "VG" so it is your LVM volume group name, |
|
# "VOLUME" so it is the name of the filesystem's logical volume, |
|
# and "EMAIL" to be your e-mail address |
|
# |
|
# Written by Theodore Ts'o, Copyright 2007, 2008, 2009. |
|
# |
|
# This file may be redistributed under the terms of the |
|
# GNU Public License, version 2. |
|
# |
|
|
|
VG=ssd |
|
VOLUME=root |
|
SNAPSIZE=100m |
|
EMAIL=sysadmin@example.com |
|
|
|
TMPFILE=`mktemp ${TMPDIR:-/tmp}/e2fsck.log.XXXXXXXXXX` |
|
|
|
OPTS="-Fttv -C0" |
|
#OPTS="-Fttv -E fragcheck" |
|
|
|
set -e |
|
START="$(date +'%Y%m%d%H%M%S')" |
|
lvcreate -s -L ${SNAPSIZE} -n "${VOLUME}-snap" "${VG}/${VOLUME}" |
|
if nice logsave -as $TMPFILE e2fsck -p $OPTS "/dev/${VG}/${VOLUME}-snap" && \ |
|
nice logsave -as $TMPFILE e2fsck -fy $OPTS "/dev/${VG}/${VOLUME}-snap" ; then |
|
echo 'Background scrubbing succeeded!' |
|
tune2fs -C 0 -T "${START}" "/dev/${VG}/${VOLUME}" |
|
else |
|
echo 'Background scrubbing failed! Reboot to fsck soon!' |
|
tune2fs -C 16000 -T "19000101" "/dev/${VG}/${VOLUME}" |
|
if test -n "$RPT-EMAIL"; then |
|
mail -s "E2fsck of /dev/${VG}/${VOLUME} failed!" $EMAIL < $TMPFILE |
|
fi |
|
fi |
|
lvremove -f "${VG}/${VOLUME}-snap" |
|
rm $TMPFILE |
|
|
|
|