#!/bin/sh if [ ! -f /root/.my.cnf ] ; then exit 1 fi MY_BACKUP_DIR=/var/lib/mysql-backup umask 0077 MY_DATA_DIR=/var/lib/mysql LOCKFILE=$MY_DATA_DIR/.mysqldump.lock if [ ! -d $MY_BACKUP_DIR ] ; then mkdir -p $MY_BACKUP_DIR fi if [ ! -d $MY_BACKUP_DIR/log ] ; then mkdir -p $MY_BACKUP_DIR/log fi if [ ! -d $MY_BACKUP_DIR/old ] ; then mkdir -p $MY_BACKUP_DIR/old fi chmod -R 700 $MY_BACKUP_DIR if [ ! -f $LOCKFILE ] ; then touch $LOCKFILE for db in $( /bin/ls -1 /var/lib/mysql/ ) ; do if [ -d /var/lib/mysql/$db ] ; then if [ -f $MY_BACKUP_DIR/$db.sql ] ; then mv -f $MY_BACKUP_DIR/$db.sql $MY_BACKUP_DIR/old fi #mysqldump -uroot -f --opt -p$MYSQLPASS $db > $MY_BACKUP_DIR/$db.sql 2> $MY_BACKUP_DIR/log/$db.log mysqldump -f --opt $db > $MY_BACKUP_DIR/$db.sql 2> $MY_BACKUP_DIR/log/$db.log chmod 600 $MY_BACKUP_DIR/$db.sql fi done # Do a "flush-hosts" after the backup mysqladmin flush-hosts 2> $MY_BACKUP_DIR/log/flush-hosts.log rm -f $LOCKFILE fi exit 0