其实这个只是利用了 mysqldump来实现的数据库备份 具体代码如下:
#!/bin/sh
mysqldump -u dbuserName -p password dbName | gzip > ~/mysql_backup/dbName`date +%Y-%m-%d_%H%M%S`.sql.gz
cd ~/mysql_backup
find . -name '*.sql.gz' -mtime 30 | xargs rm -rf #delete 30 days ago
把以上脚本保存为dbback.sh, 并添加在 crontab 里执行 就OK了。
具体解释一下:
mysqldump -u dbuserName -p password dbName | gzip > ~/mysql_backup/dbName`date +%Y-%m-%d_%H%M%S`.sql.gz这句就是用MySQLdump来备份数据库中 dbName的数据库到 ~/mysql_backup/ 目录下, 并且创建的文件名为: dbName + 备份时间.sql
find . -name '*.sql.gz' -mtime 30 | xargs rm -rf #delete 30 days ago这句就是寻找当前目录下创建时间大于30天的 并删除
本文介绍了一种利用mysqldump和shell脚本实现MySQL数据库备份及自动删除过期备份的方法,通过定时任务定期执行备份并清除30天前的备份文件,以保持备份空间的高效利用。
937

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



