#!/usr/bin/env sh # === CONFIG === MYCNF='/etc/mysql/debian.cnf' BIN_DEPS='bzip2 mysql' # === CHECKS === for BIN in $BIN_DEPS; do which $BIN 1>/dev/null 2>&1 if [ $? -ne 0 ]; then echo "Error: Required file could not be found: $BIN" exit 1 fi done # === CORE === for BDD in `mysql --defaults-extra-file=$MYCNF --skip-column-names -B -e "SHOW databases;" | egrep -v "^information_schema$|^performance_schema$"`; do echo "* Processing BDD $BDD" for TABLE in `mysql --defaults-extra-file=$MYCNF --skip-column-names -B $BDD -e "SHOW TABLES;" | grep -v slow_log | grep -v general_log`; do echo " ** Optimize $BDD.$TABLE" mysql --defaults-file=$MYCNF -e "optimize table $BDD.$TABLE" done done