1、编写备份脚本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 "===备份成功==="
2、更改备份脚本权限sql
chmod u+x /usr/local/tools/mysql_dy_backup.sh
3、设置定时执行脚本任务数据库
crontab -e
30 22 * * * /usr/local/tools/mysql_dy_backup.sh