Nov 27

定期备份服务器的解决方案 不指定

harrie , 15:26 , 生活笔记 , 评论(0) , 引用(0) , 阅读(287) , Via 本站原创 | |
首先先估算Mysql和网站各自需要的备份空间,然后定出来多少时间删除旧的备份文件。

1、创建保存备份文件的路径/mysqldata

#mkdir /mysqldata

2、创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql

  

#注意:`符号是TAB键上面的符号,不是ENTER左边的

#还有date后要有一个空格。

rq=`date +%Y%m%d`

tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

#删除60天以前的备份文件

find /mysqldata -atime +60 -name '*.tar.gz'-exec rm -f {} ';'

或者写成

rq=` date +%Y%m%d `

mysqldump --all-databases -u root -p密码 > /mysqldata/mysql$rq.sql

rm -f `find -ctime 60` /mysqldata

/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同

/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。

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

# chmod +x /usr/sbin/bakmysql

4、修改/etc/crontab

#vi /etc/crontab

在下面添加

01 3 * * * root /usr/sbin/bakmysql

表示每天3点钟执行备份

02 * * * * root /usr/sbin/bakmysql

表示每周1,5:02执行备份

  

  

02 5 * * 1 root /usr/sbin/bakmysql

每小时第二分钟备份一次

5、重新启动crond

# /etc/rc.d/init.d/crond restart

完成。

这样每天你在/mysqldata可以看到这样的文件

mysql20070929.tar.gz

直接下载即可。


参考文章1:
http://hi.baidu.com/hfr666...
参考文章2:
http://www.linuxforum.net/...
参考文章3:
http://www.chinaunix.net/j...

补充:一个朋友给我的建议
creating backups with rsync is more reliable, faster and
stores the backup at a separate disk on a different place.
I have daily, weekly and monthly backups with rsync to two fysical
different locations with command like:
rsync -r  rsync://*****.com/sqldata /backup/sqldata

可以参考:http://hi.baidu.com/52hack...
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]