命令行手撸自动备份mysql数据库
新建一个backup文件夹
[root@ecs-9b82 backup]# pwd
/home/backup
[root@ecs-9b82 backup]#
新建一个mysql_backup.sh文件(文件名随意)
#!/bin/bash
# d1 为日期, 为了有个记录
d1=`date +'%Y%m%d_%H%M%S'`
mysqldump -uroot -p数据库密码 要备份的数据库名 | gzip > /home/backup/mysql/导出文件别名_$d1.sql.gz
再来新建一个删除备份的remove_backup.sh, 定时删除大于60天的备份数据库
#/bin/bash
find /home/backup/mysql -type f -mtime +60 |xargs rm -f
crontab -e 进入定时任务
# 每天备份
0 1 * * * /home/backup/mysql_backup.sh
# 每2天检测一次删除
0 2 * * * /home/backup/remove_backup.sh
最后结果大概就这样


这篇博客介绍了如何利用Shell脚本实现MySQL数据库的自动备份和清理过期备份。通过创建`mysql_backup.sh`进行每日备份,使用`mysqldump`命令,并用gzip压缩保存。另外,`remove_backup.sh`脚本用于根据mtime删除超过60天的备份。通过crontab设置定时任务,确保备份和清理操作按计划执行。
683

被折叠的 条评论
为什么被折叠?



