首页 > 基础设施 > 正文

利用Rsync自动同步服务器数据

2010-03-25 10:51:13  来源:万方数据

摘要:服务器是企业网络应用中最主要的组成部分。在维护这些服务器的过程中,经常碰到要进行服务器之间的数据同步的问题。文章讨论了利用开源软件Rsync的安装及实现服务器数据的自动同步
关键词: 服务器 Rsync的

  服务器是企业网络应用中最主要的组成部分。不管是企业的web网站、电子邮件、数据库服务器,还是文件、打印服务器都是决定企业业务能否正常运行的核心组件。在维护这些服务器的过程中,经常碰到要进行服务器之间的数据同步的问题。对于使用Unix操作系统作为业务应用基础平台的企业来说。往往面临如何实现数据同步的问题。当然,通过网络进行数据同步的最简单的方法就是使用ftp工具,但是使用ftp方式每次都需要将目标服务器中的所有数据都传输一遍,没有考虑哪些文件是已经同步过的,哪些文件是最近创建或更新、修改过的。因此效率是比较低的。当需要同步的数据量很大的时候,这种数据同步传输方式就显得比较原始,将占用大量网络资源,自然也不太经济实用。

  有没有商业化的数据同步产品供我们选择呢?答案是有。但商用产品的价格昂贵,动辄儿万、几十万的商业软件投入对于一般的企业不是一个容易决定的事情。有没有高效、成本低廉的软件呢?答案也是有。利用自由软件实现高效的服务器数据同步。就是本文要探讨的话题。

  1.选择Rsync的理由

  Rsync是一个开源的软件。它可以用于服务器数据同步、数据备份、网站镜像等方面,而且Rsync支持在各种操作系统下的使用,如Unix、Linux、FreeBSD等等。

  Rsyne具有以下特点:

  1.1可以镜像保存整个目录树和文件系统

  1.2可以很容易做到保持原来文件的权限、时间、软硬链接等

  1.3无须特殊权限即可安装

  1.4优化的流程,文件传输效率高。

  1.5可以使用rep、ssh等方式来传输文件

  1.6支持匿名传输,方便进行网站镜象

  2.Rsync的安装

  Rsync的官方网站:http://rsync.samba.org/

  当前最新版:Rsync一3.0.2

  跟大多数Unix下基于源码安装软件的方法一样。Rsync的安装还是比较简单的。首先下载Rsync一3.0.2.tar.gz并解压缩,然后进行编译、安装。指令如下:

  #Tar zxvf rsync一3.0.2.tar.gz

  #Cd rsyne-3.0.2

  #./configure

  #Make

  #Make install

  安装的时候需要注意:在进行同步的两台服务器上都安装rsync。其中目标服务器上运行服务器模式rsync。而存放同步数据的服务器上运行客户端模式rsync。

  3.Rsync的配置和使用

  Rsync的主要配置文件是/etc/rsyncd..conf,rsyncd.Conf的配置是用于控制rsync 的认证、数据同步目录等。

  3.1作为服务器端的配置

  一个实例(/ete/rsyncd.conf):

  pid file=/vadrun/rsyncd.pid

  port=873//Rsync运行时的端口号

  address=服务器的ip地址

  uid=nobody

  sid=nobody

  use chroot = yes

  read only = yes

  max connections=4

  [baekup]

  path=需备份的目录

  list = yes

  ignore errors

  auth users=beifen(hifen是系统上的一个用户)

  secrets file=/etc/rsyncd.pass

  comment = pzpbackup

  设定密码文件/etc/rsyncd.pass

  .格式为:

  账号:密码

  本例中为beifen:123456

  3.2作为客户端的配置

  设定密码文件

  假设密码文件:是/etcdp.pass,编辑文件内容

  #ee/etc/p.pass

  123456(此处需与服务器端所设密码一致)

  #chmod 600/etc/p.pass

  开始同步数据

  # rsync — avzP —— password -file =/etc/p.passbeifen@serveripaddress::beifen文件夹

  参数说明:

  一a参数。相当于一rlptgoD,一r是递归一l是链接文件,意思是拷贝链接文件;一P表示保持文件原有权限;一t保持文件原有时间;-g保持文

  原有用户组;-o保持文件原有属主;一D相当于块设备文件;

  一v传输时的进度等信息

  一z传输时压缩;

  一P传输进度;

  一password—file=/etc/p.pass自动读取文件中的密码

  Beifen同步用的用户名

  @serveripaddress::beifen服务器名称或ip地址,符号::后的beifen为Rsyncd.conf文件中的模块名称。

  文件夹:是指存放同步数据的目录

  4.自动同步数据

  crontab系统凋度命令。可以使用它来安排需要运行的作业,在一天、一周或一月中的不同时间来运行我们指定的任务。

  如果想要在每天晚上11:30,开始同步数据,我们修改/etc/crontab文件,添加如下指令:

  30 11 * * *rsync —avzP --passsword-file=/etc/p.passbeifen@serveripaddress::beifen文件夹

  表示每晚的11:30运行同步数据作业。

  5.结语

  Rsync软件在本人的服务器管理维护工作中起过重要作用,不愧是一个高效、开源的好工具。网络管理员拥有了它,势必在网管工作中如虎添翼,更有效地完成手中的工作。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。