by chandranjoy » Wed Feb 16, 2011 7:55 pm
- Code: Select all
#!/bin/bash
DESTDIR="/var/backups/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
MYSQLARGS=""
MYSQL="/usr/bin/mysql"
MYCNF="$HOME/.my.cnf"
DEBIAN_CNF="/etc/mysql/debian.cnf"
if [ ! -e ${DESTDIR} ]; then
mkdir -p $DESTDIR || exit 1
fi
if [ ! -f "$MYSQLDUMP" ]; then
exit 1
fi
if [ ! -f "$MYCNF" ]; then
if [ ! -f "$DEBIAN_CNF" ]; then
exit 1
fi
MYSQLARGS="--defaults-extra-file=$DEBIAN_CNF"
fi
rm -f ${DESTDIR}/*
CURDATE=`date "+%Y%m%d"`
DATABASES=`echo "show databases" | $MYSQL $MYSQLARGS | grep -v -E "^Database$"`
for database in ${DATABASES}; do
$MYSQLDUMP $MYSQLARGS "$database" | gzip -9 > "$DESTDIR/$database-$CURDATE.gz"
done