#!/bin/bash
#Write by liyx
#数据库服务器地址
DBHOST=localhost
#数据库登录名
USERNAME=root
#数据库密码
PASSWORD=root
#需要备份的数据库 或 输入类似 db1 db2 的列表清单DBNAMES=\"ess_simple\"
#备份MYSQL时生成CREATE数据库语句
CREATE_DATABASE=\"yes\"
#备份的目录
例 DBNAMES=\"all\"
BACKUPDIR=\"/root/mysql/data\"
#当前备份日期和时间
DATE=`date +%Y-%m-%d_%H_%M`
OPT=\"--quote-names --opt\"
#检查备份路径是否存在,不存在则建立
if [ ! -e \"${BACKUPDIR}\" ]; then
mkdir -p \"${BACKUPDIR}\"
fi
#检查是否需要生成CREATE数据库语句
if [ \"${CREATE_DATABASE}\" = \"yes\" ]; then
OPT=\"${OPT} --databases\"
else
OPT=\"${OPT} --no-create-db\"
fi
#检查是否是备份所有数据库
if [ \"${DBNAMES}\" = \"all\" ]; then
DBNAMES=\"--all-databases\"
fi
BACKUPFILE=${DATE}.sql.gz
cd ${BACKUPDIR}
#备份数据库
`which mysqldump` --user=${USERNAME} --password=${PASSWORD}
--host=${DBHOST} ${OPT} ${DBNAMES} |gzip > \"${BACKUPFILE}\"