mysql数据库异地备份Shell脚本
#!/bin/bash#################################
# Athor:DAVID #
# Date:15/5/2013 #
# About:mysql_bakup #
#################################
USER=mysql //备份数据库实用的用户名
PASSWD=mysql //备份数据库实用的密码
DATE=`date +%Y-%m-%d` //当前时间
OLDDATE=`date +%Y-%m-%d -d '-10 days'` //本地备份保留时间
FTPOLDDATE=`date +%Y-%m-%d -d '-20 days'` //备份服务器备份保留时间
MYSQLDUMP=/usr/local/mysql/bin/mysqldump //mysql备份执行命令文件路径
SOCKET=/tmp/mysql.sock //进程文件存放目录
BACKDIR=/opt/data/db //本地备份目录
FTPHOST=132.96.77.123 //FTP主机
FTPUSER=webbak //用户名
FTPPASS=webbak //密码
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR} //判断备份目录是否存在,如果不存在则创建
[ -d ${BACKDIR}/${DATE} ] || mkdir ${BACKDIR}/${DATE}//判断当前时间目录是否存在,如果不存在则创建
[ ! -d ${BACKDIR}/${OLDDATE} ] || rm -rf ${BACKDIR}/${OLDDATE}//判断10天前旧目录是否存在,存在则删除
for DBNAME in mysql cms manager //要进行备份的数据库名称
do
${MYSQLDUMP} -S ${SOCKET} -u ${USER} -p${PASSWD} --opt ${DBNAME} | gzip > ${BACKDIR}/${DATE}/${DBNAME}-backup-${DATE}.sql.gz//进行备份
echo "${DBNAME} has been backup successful."
sleep 5
done
cd ${BACKDIR}/${DATE}
ftp -i -n -v
页:
[1]