定时自动备份MySQL数据库

定时自动备份MySQL数据库

网上搜索的一些文章或者脚本, 在Ubuntu/Kubuntu中似乎都有这样或者那样的问题, 经过一番摸索后, 以下方式是可行的.

step1: 创建定时任务, 例如在早上1:30备份数据库. 编辑/etc/crontab文件, 添加内容:

30 1    * * *   root    sh  /home/yxh/cronDayBackupMySQL.sh

step2: 创建shell脚本cronDayBackupMySQL.sh. 要非常注意脚本中的标点符号(不得不说, shell脚本是怪折磨人的)

#!/bin/bash
currDateStr=`date +%Y%m%d`
mysqlBackFileName=mysql${currDateStr}
mysqldump -u root -p db_yxh --password=1234 | gzip > /var/backups/$mysqlBackFileName.sql.gz

其中, 数据库是db_yxh, 数据库root用户密码是1234, 备份的sql文件压缩存放在/var/backups目录下.

解压缩gz文件也很简单, 直接试用gzip即可:

gzip -d xxx.gz

 

Comments are closed.