生产环境中对数据库进行定期备份是必须要做的事情,不做数据库备份的前提下,一旦数据库本身发生不可恢复性的故障,后果不敢想象。本文讲解在Linux服务器上,使用shell+crontab的方式对mysql数据库进行定期备份(oracle数据库同样可以使用该方法),原理上就是将对应数据库的导出命令写进shell中,再将shell脚本添加到crontab定期执行。
脚本内容
#!/bin/bash
#定义为一个字符串,以字符串内容为date的年+月+日+时+分+秒的形式
d1=`date +%Y-%m-%d_%H:%M:%S`
#导出数据库命令,并给导出的数据文件名加上时间
/usr/bin/mysqldump -uroot -pXXXXXX --single-transaction --flush-logs --set-gtid-purged=OFF wbdb > /home/mysql_data/wbdb_bak$d1.sql
#删除一周前备份的数据文件
find /home/mysql_data/ -mtime +5 -name "wbdb_bak*" | xargs rm -rf
crontab配置
实现每天凌晨1点和下午4点执行脚本