You are here: start » technik:start » technik:bash
Wiederkehrende Code-Fragmente zum sammeln und aufkleben.
usage=$(basename $0)" [options]: check disk partitions for Space, Inodes, Filesystem- and S.M.A.R.T-state\n
-l: write to log\n
-m: send mail if partition status not ok\n
-s: silent (suppress output on screen)
-h: this help"
# evaluate command line parameters
options=$(getopt hlms $*)
if [ $? -ne 0 ] ; then
echo -e $usage
exit 20
fi
set -- ${options}
while [ $1 != "--" ] ; do
if [ $1 = '-h' ] ; then
echo -e $usage
exit 4
elif [ $1 = '-l' ] ; then
DO_LOG=1
elif [ $1 = '-m' ] ; then
DO_MAIL=1
elif [ $1 = '-s' ] ; then
DO_SUPPRESS=1
else
echo -e $usage
exit 22
fi
shift
done
shift
oder zum verarbeiten von gleichwertigen Argumenten:
for X in $*; do
test -f $X && echo "$X: Datei"
test -d $X && echo "$X: Verzeichnis"
done
cat $DUMPFILE |mail -s "$MAIL_SUBJECT" $MAIL_TO -a "From: skript@$MACHINE"
if [ "$DO_MAIL" = "1" -a "$PALARM" = "1" ] ; then sendMail ; fi
for PARTITION in $ALLPARTITIONS; do
((i++))
echo "$TIMESTAMP "hdstatus "$MACHINE":"${PARTITION[$i]}" UsedSpace:"${USEDSPACE[$i]}" UsedInod
es:"${USEDINODES[$i]}" Filesystem:"${FILESYSTEMSTATE[$i]}" Harddisk:"${SMARTSTATE[$i]}" >> $LOGFILE
done
ALLPARTITIONS=$(df -l --type=ext3|grep /dev/|awk '{print $1}')
FILESYSTEMSTATE[$i]=$($TUNE2FS -l $PARTITION|grep state|awk '{print $3}')