一:编写备份脚本
#!/bin/bash
#完成数据库的定时备份
#备份的路径
BACKUP=/data/backup/db
#当前时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#可以输出变量调试
#echo ${DATETIME}
echo "-----------备份开始------------"
echo "-----------备份文件的路径是:$BACKUP/$DATETIME.tar.gz"
#主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PASSWD=root
#备份的库名称
DB_TABLES=testmysql
#创建备份需要的路径
#如果备份的路径/文件夹存在,则直接使用,否则创建备份目录
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#执行mysql的备份数据库的指令
mysqldump -u${DB_USER} -p${DB_PASSWD} --host=$HOST $DB_TABLES | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf $BACKUP/$DATETIME
#删除10天前的备份文件
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "-------------备份成功----------------"
二:设置定时运行脚本
crontab -e --每天两点执行一次
* 2 * * * /opt/tmp/shell/mysql_db_backup.sh