Linux环境自动备份mysql数据库

1、首先你要有Linux的环境以及一个mysql数据库

这个我们就不谈了

2、创建一个shell文件用于备份数据库

vim backup.sh
#这边的意思是备份数据库账号为root 密码为123456的aaaa数据库
#打包到/home/aaaa/DataBase_backup/sql目录
#并配置了一个为期14天的备份,超过这个时间自动删除,:wq保存退出
mysqldump -uroot -p123456 aaaa | gzip > /home/aaaa/DataBase_backup/sql/aaaa`date +%Y%m%d%H%M%S`.sql.gz
find /home/aaaa/DataBase_backup/sql/ -mtime +14 -type f | xargs rm -f

3、查看是否已有定时任务在执行

crontab -l

4、定时任务开启

crontab -e
# 这里cron表达式表示每天0点自动备份,启动的文件为第二步的backup.sh文件
0 0 * * * sh /home/aaaa/DataBase_backup/backup.sh

这边保存可能会出现一个权限不足的提示:/var/spool/cron/#tmp.localhost.localdomain.XXXXFdc6fz: 权限不够
用了sudo后发现还是不行,于是在网上找了资料后:

#用了这两行命令来解决了问题
lsattr /var/spool/cron/   #查看是否有特殊的属性
chattr -ai /var/spool/cron   #去掉特殊的属性

然后再用crontab -e运行保存成功,再次用crontab -l查看是否已经存在该命令
在这里插入图片描述
如果出现这条信息则表示成功!

5、重启crondtab服务

service crond restart

猜你喜欢

转载自blog.csdn.net/weixin_52796198/article/details/131216811