#!/bin/bash DEV="/dev/sdc1" DIR="/var/lib/mysql" CURRENT=$PWD # TEST mkdir output.$$ mkdir summary.$$ service mysqld stop umount $DEV if df | grep $DEV then echo "ERROR: $DEV in use" 1>&2 exit 1 fi #"ext2 nobhbar" \ for filesystem in \ "ext2 defaults" \ "ext3 data=ordered" \ "ext3 data=writeback" \ "ext3 data=ordered,extents" \ "ext3 data=ordered,mballoc,extents" \ "ext3 data=ordered,mballoc,delalloc,extents" \ "ext3 data=writeback,extents" \ "ext3 data=writeback,mballoc,extents" \ "ext3 data=writeback,mballoc,delalloc,extents" \ "reiserfs defaults" \ "xfs defaults" \ "jfs defaults" do FS=${filesystem%% *} OPT=${filesystem##* } LOGFILE="${CURRENT}/${FS}_${OPT}" rm -f "$LOGFILE" if [ "$FS" = "jfs" ] then CMD="mkfs -t $FS -q -L jfs_volume $DEV" elif [ "$FS" = "xfs" ] then CMD="mkfs -t $FS -f $DEV" elif [ "$FS" = "reiserfs" ] then CMD="mkfs -t $FS -f $DEV" else CMD="mkfs -t $FS $DEV" fi echo $CMD if ! $CMD > /dev/null then echo "Failed !" exit 1 fi echo mount -t $FS -o $OPT $DEV $DIR if ! mount -t $FS -o $OPT $DEV $DIR then echo "Failed !" exit 1 fi ########################################################### chmod 0755 $DIR chown mysql:mysql $DIR mysql_install_db service mysqld start cd /usr/share/sql-bench perl run-all-tests --comments="$FS $OPT" | tee $CURRENT/summary.$$/${FS}_${OPT} mv output $CURRENT/output.$$/${FS}_${OPT} cd $CURRENT service mysqld stop ########################################################### echo umount $DEV while ! umount $DEV do echo "Retry..." sleep 5 echo umount $DEV done done