Heim  >  Artikel  >  Datenbank  >  MySql数据库本地服务器备份策略

MySql数据库本地服务器备份策略

WBOY
WBOYOriginal
2016-06-07 17:54:361230Durchsuche

说明:我这里要把MySql数据库存放目录/var/lib/mysql下面的所有文件备份到/home/mysql_data里面 并且保存为mysql_data20121220.tar.gz的压缩文件(20121220是指备份执行时当天的日期) 然后只保留最近7天的备份 1、创建保存备份文件的路径:/home/mysql_data

说明:我这里要把MySql存放目录/var/lib/mysql下面的所有文件备份到/home/mysql_data里面
并且保存为mysql_data20121220.tar.gz的压缩文件(20121220是指备份执行时当天的日期)
然后只保留最近7天的备份

1、创建保存备份文件的路径:/home/mysql_data
cd /home
mkdir mysql_data
2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh

cd /home
cd mysql_data
touch mysql_databak.sh
vim 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_data #备份文件存放路径
DB_DR=/var/lib/mysql #数据库路径
LINUX_USER=root #系统用户名
tar zcvf $BK_DR/mysql_data$date.tar.gz $DB_DR #备份数据
/etc/init.d/mysqld start #备份完成后,启动MySql
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
find $BK_DR -name "mysql_data*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件
##################################################################################

3、修改文件属性,使其可执行

chmod +x /home/mysql_data/mysql_databak.sh

4、修改/etc/crontab
vi /etc/crontab
在下面添加

35 13 * * * root /home/mysql_data/mysql_databak.sh
表示每天13点35钟执行备份

5、重新启动crond使设置生效
/etc/rc.d/init.d/crond restart
chkconfig crond on #设为开机启动
service crond start #启动

每天你在/home/mysql_data目录下面可以看到类似mysql_data20121220.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩tar -zxvf mysql_data20121220.tar.gz

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn