果果、 发表于 2018-8-21 08:09:44

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]
查看完整版本: mysql数据库异地备份Shell脚本