MYSQL5.7 LINUX 上定时备份

数据库备份是为了避免在非人为情况下,造成服务器故障导致数据丢失,从而减少损失的一种补救措施,在生产服务器上时常用到。

step 1: 编写Linux可执行脚本sh文件

#!/bin/bash
mysqldump [数据库名] > /home/dbmysql/sqldata/db_abc_pro_$(date +%Y%m%d).sql
SevenDays=$(date -d -100day  +"%Y%m%d") 
if [ -f /home/dbmysql/sqldata/db_abc_pro_$SevenDays.sql ] 
then
rm -rf /home/dbmysql/sqldata/db_abc_pro_$SevenDays.sql 
fi

由于我使用的是MYSQL5.7所以这里没有配置用户名与密码 需要在 /etc/my.cnf 中配置
在这里插入图片描述

而5.6以下则为: mysqldump -uroot -p123456 [数据库名]
用户名: root 密码: 123456

如需要删除历史备份SQL(30天以前):
find /home/dbmysql/sqldata -type d -mtime +30 -exec rm -rf {} ;

/home/dbmysql/sqldata: 备份目录

step 2: 授权与添加执行计划

授权: chmod u+x db_mysql-bak.sh

添加执行计划: 每天凌晨2点执行一次

crontab -e 编辑并填写刚刚编写好的sh脚本 其中这里有五个*分别表示:分 时 日 月 周
在这里插入图片描述

crontab -l 查看一下是否添加
在这里插入图片描述
systemctl restart crond 服务重启

执行服务重启报错: Redirecting to /bin/systemctl start crond.service
处理办法:
systemctl enable crond
systemctl start crond
在执行一次 服务重启 即可
搞定!

Guess you like

Origin blog.csdn.net/qq_16771097/article/details/117924197
Recommended