#################################################
#!/bin/sh
# this shell script finds tables and runs 'optimize table'
# @date 6/14/2006
# @author Son Nguyen
# @modified by Matt Rae 7/7/2006
printUsage() {
echo "Usage: $0"
echo " --optimize"
return
}
doAllTables() {
DBNAMES=`mysql -e "SHOW DATABASES\G;" | grep 'Database' | sed -n 's/Database: for DBNAME in $DBNAMES
do
# get the table names
TABLENAMES=`mysql -D $DBNAME -e "SHOW TABLES\G;"|grep 'Tables_in_'|sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`
# loop through the tables and optimize them
for TABLENAME in $TABLENAMES
do
mysql -D $DBNAME -e "OPTIMIZE TABLE $TABLENAME;"
done
done
}
if [ $# -eq 0 ] ; then
printUsage
exit 1
fi
case $1 in
--optimize) doAllTables;;
--help) printUsage; exit 1;;
*) printUsage; exit 1;;
esac