数据库备份是为了避免在非人为情况下,造成服务器故障导致数据丢失,从而减少损失的一种补救措施,在生产服务器上时常用到。
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
在执行一次 服务重启 即可
搞定!