#!/bin/bash
Path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
Export PATH
#数据库用户名
Dbuser= ' Root '
#数据库用密码
dbpasswd= ' Password '
#需要备份的数据库, multiple databases are separated by spaces
Dbname= (' dbname1 ' dbname2 ' dbname3 ' dbname4 ' dbname5 ')
#备份时间
Backtime= ' Date +%y%m%d%h%m%s '
#mysql安装路径
Mysqlpath= '/data/mysql5.6/bin '
#日志备份路径
Logpath= '/store/bank/data '
#数据备份路径
Datapath= '/store/bank/data '
#日志记录头部
Echo ' "Backup Time is ${backtime}, back Up database table ${dbname} start" >> ${logpath}/log.log
#正式备份数据库 take the above variable array
For db_name in ${dbname[@]}; Do
#mysqldump-U ${dbuser}-p${dbpasswd} ${db_name}> ${logpath}/${backtime}.sql 2>> ${logpath}/mysqllog.log
Source= ' ${mysqlpath}/mysqldump-u${dbuser}-p${dbpasswd} ${dbname}> ${logpath}/${db_name}${backtime}.sql ' 2> > ${logpath}/mysqllog.log;
#备份成功以下操作
If ["$?" = = 0];then
CD $datapath
#为节约硬盘空间, compress the database
Tar jcvf ${db_name}${backtime}.tar.bz2 ${table}${backtime}.sql >/dev/null
#删除原始文件, leave only compressed files
Rm-f ${datapath}/${db_name}${backtime}.sql
#删除七天前备份, which is to save only 7 days of backup
Find $datapath-name "*.tar.bz2"-type f-mtime +7-exec rm-rf {} \; >/dev/null 2>&1
echo "database table ${dbname} backup succeeded!!" >> ${logpath}/mysqllog.log
Else
#备份失败则进行以下操作
echo "database table ${dbname} backup failed!" >> ${logpath}/mysqllog.log
Fi
Done
Shell script Backup Database (docu)