Rsync实现文件定时同步技巧

(编辑:jimmy 日期: 2024/12/26 浏览:2)

使用背景:

       2005年5月,商务网处于上线阶段。但,由于总总原因一直迟迟不能上线。系统基本功能都已经实现了,但是作为一个商务网整体来说,文件同步这块还没有完成。正好自己这段时间不是很忙。对这块也有些兴趣,所以决定摸摸看。

       万事开头难,从没接触过什么同步之类的,怎么开始呢?幸好以前做邮件系统的时候,认识了Eyou的小熊,请教了他,于是推荐了Rsync这个好工具给我。在此,特别感谢小熊的帮助。
       Rsync的优点是部署方便,使用方便,效率高,并且它是开源的。目前在某些Linux服务器版中已经将其捆绑进来,可见其功能已经得到了较高的认可。

       关于Rsync的介绍,大家可以去google里面搜索,相信能找到更多,在此,我就不再浪费大家时间了(鲁迅先生说过:浪费别人时间等于谋财害命,浪费自己的时间等于慢性自杀。知道后果的严重性了吧,呵呵)。还是来看看我的实现步骤吧。

操作系统:

       文件服务器端: Red Hat Linux Advanced Server release 2.1AS/i686 (Pensacola)

       客户端:Red Hat Linux release 7.2 (Enigma)

       其中,服务器端的Linux已经捆绑了 Rsync。我在AIX下也实现了客户端.

       [注意事项]:

1、要确定系统本身是否已经绑定(安装)了Rsync,可以到/usr/bin ,/usr/local/bin/ 或者 /usr/sbin/ 等目录下查找 Rsync是否存在,或者使用 whereis  rsync,也行。

2、已绑定了Rsync的系统,在 /etc/xinetd.d/rsync 中,默认是关闭的。可以将其打开,然后 重起服务 service xinted restart

3、如果系统本身已安装了,那就不需要再安装,如果需要升级Rsync版本,只需按照正常的安装步骤安装即可。

4、rsync默认绑定的是873端口,如果rsync已经作为后台进程启动了,那么通过netstat –nap|grep 873  应该可以查看到有rsync 进程。

1、安装rsync

       第一步:从 http://rsync.samba.org/  下载rsync包(本文配置使用Rsync 2.6.5 released)

       第二步:将rsync包上传到作为服务器的机器上(例如:128.128.6.168)

       第三步:转到root身份登录,解压rsync-2.6.5pre2.tar.gz包,到指定目录(例如: /home/zuohao/rsync/),并且将rsync目录分配给某个用户(例如:zuohao)。

       第四步:进入rsync 目录。 键入:./configure。

Rsync将检测系统信息,并且生成相关文件。

       第五步:键入make,编译 C文件。(注意:运行该命令前先确定是否安装C编译器,例如gcc,cc等。)
       第六步:键入 make install 安转rsync。(注意:运行该命令前先确定是否安装C编译器,例如gcc,cc等。)
       第七步:如果以上编译都没有问题,rsync安装完成。

2、  配置rsync服务端

服务端的主要配置文件是 /etc/rsyncd.conf(该文件可能不存在,可以自己新建一个。)  ,通过该文件可以配置全局访问的参数,需要备份的模块参数。以下面的配置为例:

复制代码 代码如下:
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
hosts allow = 128.128.6.38
[inburst]
path = /usr/shr
comment = BACKUP CLIENT IS REDHAT ADVANCE SERVER 3.0
read only = yes
list = no
auth users = root
secrets file = /etc/inburst.pass
[file0]
path = /home/zuohao/www
comment = my rsync site
exclude = configfile

Rsync实现文件定时同步技巧

   rsyncd.conf 可以有更多的配置,例如密码的验证,模块的设置等。

[注意事项]

 rsyncd.conf 以及密码文件的权限必须是600,即只有root可读\写

更多rsyncd.conf属性请参考. http://rsync.samba.org/ftp/rsync/rsyncd conf.html

3、  配置rsync 客户端

第一步:安装rsync:在客户端上要实现同步,同样需要安转rsync服务,(安装方法参考上面)。

第二步:测试是否安装成功。

在命令行输入:

复制代码 代码如下:
rsync -vzrtopg --progress --delete zuohao@128.128.6.38::file0 /home/zuohao/backup/

查看本地目录/home/zuohao/backup/ 是否与服务器中的需要备份目录文件已经同步。

Rsync实现文件定时同步技巧

更多参数说明,参考rsync网站说明文档:

http://rsync.samba.org/ftp/rsync/preview/rsync.html

第三步:编制定时运行shell,运行以上命令,实现文件的定时同步。

通过编辑crontab ,增加相应的脚本,实现文件的定时同步.本例脚本如下:

*/30 * * * * zuohao /usr/local/bin/rsync.sh

在每个30分钟的时候运行一次.

4、安装完成

完成以上配置后, rsync的服务器端和客户端的配置就已经完成,简单的文件定时同步基本能够实现了.在 rsync 的官方网站上 http://rsync.samba.org/ 有更多的例子和文档可以参考.希望大家能通过本例,对rsync有大至的了解后,能够去看那些文档,这样能够更全面的使用rsync.

注意事项

1、  一般情况下 Linux 服务器版都已经安装了rsync。

2、  安装rsync之前务必确定系统是否已安装了C编译器。否则安装无法继续。

3、  rsync的安装必须是root用户。

4、  rsyncd.conf文件的权限必须只有root能读、写,即 chmod 600 rsyncd.conf

5、  如果使用密码文件,密码文件的权限属性也只能是600

6、  一个rsyncd.conf 文件可以配置多个备份模块,每个模块可以定义允许访问的ip(hosts allow)地址以及不能访问的ip(hosts deny)具体参考rsync网站的rsyncd.conf说明文档。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。