src.dualinventive.com/devops/ansible/roles/mysql-backup/files/backupdbs

25 lines
618 B
Bash

#!/bin/bash
# Specify cat here to disable gzip or gzip -c to enable
GZIP=cat
EXCLUDED="mysql information_schema performance_schema"
BACKUPLOCATION=`dirname $0`
LOGINCONFFILE=${BACKUPLOCATION}/credentials.cfg
if [ "$GZIP" == "cat" ]; then
EXT=sql
else
EXT=sql.gz
fi
mysql --defaults-extra-file=${LOGINCONFFILE} -B -N -e "show databases" | while read db; do
echo ${EXCLUDED} | grep -q ${db}
if [ $? -eq 0 ]; then
continue;
fi
BACKUPFILE=${BACKUPLOCATION}/${db}.${EXT}
echo "Backing up ${db} into ${BACKUPFILE}"
/usr/bin/mysqldump --defaults-extra-file=${LOGINCONFFILE} ${db} | ${GZIP} > ${BACKUPFILE}
done