把MySQL数据库存放目录/var/lib/mysql下面的mytest数据库备到/home/mysql_databak里面,并且保存为mysql_databak20160317.tar.gz的压缩文件格式(20160317是指备份执行时当天的日期)
1、创建保存备份文件的目录:/home/mysql_databak
mkdir /home/mysql_databak
2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh
vim /home/mysql_data/mysql_databak.sh
在mysql_databak.sh文件中添加以下内容
#!/bin/sh
/etc/init.d/mysqld stop #执行备份前先停止MySql,防止有数据正在写入,备份出错
date=` date +%Y%m%d ` #获取当前日期
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
BK_DR=/home/mysql_ databak #备份文件存放路径
DB_DR=/var/lib/mysql/mytest #数据库路径
LINUX_USER=root #系统用户名
tar zcvf $BK_DR/mysql_databak$date.tar.gz $DB_DR #备份数据
/etc/init.d/mysqld start #备份完成后,启动MySql
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
#删除7天前的备份文件(注意:{} \;中间有空格)
find $BK_DR -name "mysql_databak*" -type f -mtime +$DAYS-exec rm {} \;
3、修改文件属性,使其可执行
chmod +x /home/mysql_data/mysql_databak.sh
4、修改/etc/crontab #添加计划任务
vim /etc/crontab
#在末尾添加
00 2 * * * root /home/mysql_data/mysql_databak.sh #表示每天2点00分执行备份
5、重新启动crond使设置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #设为开机启动
service crond start #启动
6、每天你在/home/mysql_data目录下面可以看到类似mysql_databak20160317.tar.gz这样的压缩文件,如果需要恢复文件的时候,只需要把这个文件解压即可。
解压缩命令:tar -zxvf mysql_databak20160317.tar.gz
本文详细介绍了在CentOS系统上如何配置MySQL数据库的自动备份。通过创建备份脚本,设置定时任务,每天2点将mytest数据库备份到/home/mysql_databak目录下,文件以日期命名并进行压缩。同时,脚本还包含了清理7天前旧备份的功能,确保只保留最近7天的数据。
1947

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



