用rsync实现网站镜像和备份[1]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:


简介


对于选择Linux 作为应用平台的的中小型企业或网站来说,往往面临如何实现数据远程备份或者网站镜象的问题,虽然有商业化的备份和镜象产品可供选择,但这些产品的价格往往过于昂贵。因此如何利用自由软件高效实现远程备份和网站镜象就成为一个值得讨论的话题。


通过网络进行远程数据备份或者网站镜象的最简单的方法就是使用wget,但是这种方式每次都需要将所有数据都重新在网络上传输一遍,而不考虑哪些文件是经过更新的,因此效率非常低下。尤其在需要备份的数据量很大的时候,往往需要花费数个小时来在网络上进行数据传输。


因此这里就介绍一种高效的网络远程备份和镜象工具-rsync,它可以满足绝大多数要求不是特别严格的备份需求。


rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:


*可以镜像保存整个目录树和文件系统
*可以很容易做到保持原来文件的权限、时间、软硬链接等等。
*无须特殊权限即可安装。
*优化的流程,文件传输效率高。
*可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
*支持匿名传输,以方便进行网站镜象。


软件下载


rysnc的主页地址为:


http://rsync.samba.org/


目前最新版本为2.4.6。可以选择从原始网站下载:http://rsync.samba.org/ftp/rsync/。也可以选择从本站下载:rsync 2.4.6。


编译安装


rsync的编译安装非常简单,只需要以下简单的几步:


[root@www rsync-2.4.6]# ./configure
[root@www rsync-2.4.6]# make
[root@www rsync-2.4.6]# make install


但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。


rsync服务器


1、rsync服务器的启动


在web服务器A上需要以守护进程方式来启动rsync服务器,只需要运行:


[root@www rsync-2.4.6]# /usr/local/bin/rsync --daemon


即可启动。rsync默认服务端口为873,服务器在该端口接收客户的匿名或者认证方式的备份请求。


如果要在启动时把服务起来,有几种不同的方法,比如:


a、加入inetd.conf


编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873。编加/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync --daemon


注:对于xinetd,设置方法类似。


b、加入rc.local


编辑/etc/rc.d/rc.local,在最后添加:


/usr/local/bin/rsync --daemon


2、rsync的配置


对于rsync服务器来说,最重要和复杂的就是它的配置了。rsync服务器的配置文件为/etc/rsyncd.conf,其控制认证、访问、日志记录等等。


本文关键:用rsync实现网站镜像和备份
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top