CentOS下备份MYSQL数据库
2019-04-25 本文已影响0人
我本佛山人
一、编写备份脚本
#!/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