CentOS下备份MYSQL数据库

一、编写备份脚本

#!/bin/bash
#备份路径
BACKUP=/opt/bak/data/
#当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo "===备份开始==="
#数据库地址
HOST=localhost
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=*******
#数据库端口
DB_PORT=3306
#创建备份目录
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
#备份去中心化电商生产库
DATABASE=*******

echo "备份文件存放于${BACKUP}/${DATETIME}_$DATABASE.tar.gz"

mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -P${DB_PORT} -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
#压缩成tar.gz包
cd $BACKUP
tar -zcvf ${DATETIME}_$DATABASE.tar.gz $DATETIME
#压缩成功后删除备份文件
rm -rf ${BACKUP}/$DATETIME
#删除60天前备份的数据
find $BACKUP -mtime +60 -name "*.tar.gz" -exec rm -rf {} \;
echo "===备份成功==="

二、更改备份脚本权限
chmod u+x /usr/local/tools/mysql_dy_backup.sh

三、设置定时执行脚本任务
crontab -e

每天22:30执行,可以加多份

30 22 * * * /usr/local/tools/mysql_dy_backup.sh

你可能感兴趣的:(CentOS下备份MYSQL数据库)