主页 > Linux | rsync > 使用rsync备份网站数据(2)

使用rsync备份网站数据(2)

前面一篇文章比较详细的讲了关于rsync的配置,这里我们以具体的应用来讲讲如何使用rsync、crontab、shell来做网站数据的备份,还没配置好rsync服务的同学移步这里–使用rsync备份网站数据(1)

前面文章讲到rsync服务器可以配置多个同步备份项目,对于备份网站程序文件以及图片等静态文件来说我们可以直接配置rsync模块目录为网站根目录即可,比如备份整个WEB服务器根目录/var/www,可以这样配置成rsync的一个模块。

[larro]
path = /var/www
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd.secrets
comment = This is the System file of Larro's Blog
exclude = unrsync/

对,这样就可以了。假定我们这台机器IP是192.168.1.1,然后我们在提供备份的机器上(192.168.1.2,同样安装了rsync服务)上只需要输入以下命令:

rsync -avzP --password-file=/etc/rsync/rsync.passwd root@192.168.1.1::larro /data/backup/webhost

关于具体参数详细说明可以参考使用rsync备份网站数据(1),或者官方文档http://www.samba.org/ftp/rsync/rsync.html
这样,就讲192.168.1.1机器上/var/www里所有文件备份到/data/backup/webhost里面去了,但是这样肯定不够,因为每次得手动去输入命令同步备份,于是我们借助Linux系统的crontab命令服务,让系统自己定时去备份,(crontab详细介绍).
接着编辑crontab,把上面备份命令直接写入crontab里面:

crotab -e

在里面输入以下命令代码:

30 4 * * * /usr/bin/rsync -avzP --password-file=/etc/rsync/rsync.passwd root@192.168.1.1::larro /data/backup/webhost

上面命令表示,每天的4:30执行rsync命令,自动同步备份网站数据。

但是数据库MYSQL文件我们不好直接设置成MYSQL的数据库读写文件,例如/var/lib/mysql,数据库一直运行着,一直在读写着这些文件,如果我们直接使用rsync很容易出错,解决办法很多种,脚本里可以先停掉mysql服务,或者直接使用Mysqldump命令导出数据库文件然后打包到某个文件夹,我们把这个文件夹配置成一个rsync项目位置,然后再同步备份。
个人觉得使用mysqldump方式好点,也简单并且不必停掉mysql服务。
首先,写一个简单的shell脚本,处理导出数据库文件,并且顺便打包下放到某个位置:

#! /bin/sh
backdate = $(date +'%Y%m%d-%H')
mysqldump -uUSERNAME -pPASSWORD dbname > /data/backup/mysql-dump/dbname_"$backdate".sql
cd /data/backup/mysql-dump
tar -czf dbname_"$backup_date".tar.gz dbname_"$backup_date".sql
rm dbname_"$backup_date".sql

上面脚本大概意思就是,设置一个变量backdate值为当前时间数值,然后mysqldump导出数据库,打包压缩,删除原来的sql文件,OK
接下来就是不知任务crontab让系统定时去备份数据库了,以便rsync能随时备份到最新的数据,然后就是同上,在192.168.1.2上添加一个任务同步备份了

crontab -e
30 5 * * * /usr/bin/rsync --password-file=/etc/rsync/rsync.passwd root@192.168.1.1::mysql-backup /data/backup/mysql-dump

至此,就都做好了
//-_- Larro

评论:1

发表评论
  1. 回复 Burton
    11/08/07

    Hell yes, i want write event or crotchet this but didnt have duration of one s life, may i repost this 使用rsync备份网站数据(2) « most wise Larro!

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

引用:0

下面所列的是引用到本博客的链接
使用rsync备份网站数据(2) 来自 Best Larro!
顶部