Rsync 的一种服务模式:

依赖于rsync -daemon服务模式

 

Rsync服务器的配置:

rpm –ivh  rsync-3.0.6-5.el6.i686.rpm

[root@prehost xinetd.d]# vim /etc/xinetd.d/rsync

 

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

#       allows crc checksumming etc.

service rsync

{

        disable = no

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = --daemon

        log_on_failure  += USERID

}

 

rsync daemon      //启动服务命令

默认情况下,rsyncd.conf  rsyncd.motd  rsyncd.secrets 都是不存在的,要手动创建。

[root@prehost etc]# ll|more

drwxr-xr-x.  2 root root   4096 Jul 19 16:14 rsyncd

-rwxr-xr-x.  1 root root    474 Jul 19 22:53 rsyncd.conf

-rwxr-xr-x.  1 root root    113 Jul 19 06:12 rsyncd.motd

-rw-------.  1 root root     42 Jul 19 15:20 rsyncd.secrets

默认情况下/etc/rsyncd.conf配置文件是不存在的,我们需要手工的建立。

[root@prehost etc]# vim rsyncd.conf

pid file = /var/run/rsyncd.pid  #存放进程标识文件的路径

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log  #存放日志文件的路径

secrets file = /etc/rsyncd.secrets

motd file = /etc/rsyncd.motd

port = 873 

uid = root     #指定访问用户

gid = root     #指定访问组

use chroot = yes #允许chroot(不可连接后切换用户)

read only = yes     #标识为可读

address = 192.168.10.2  #监听服务的IP地址

hosts allow = 192.168.10.0/255.255.255.0 #允许访问rsync 服务的地址范围 此处如果有多个网段地址,用空格隔开

hosts deny = 0.0.0.0/24  禁止访问rsync 服务的地址范围

max connections = 5   #最大的连接数为5

 

[home]        #此为发布共享的模块名

comment = /home   #注释信息

path = /home     #共享模块的路径

list = yes     #允许访问目录列表

read only = yes     #标识为可读

ignore errors    #忽略错误

auth users = sybase,root   #授权的用户名

secrets file = /etc/rsyncd.secrets  #授权用户的密码文件位置

这是rsync 服务器的主配置文件,很重要。

[root@prehost etc]# chmod -R 600 rsyncd.secrets

[root@prehost etc]# vim rsyncd.secrets

linuxsir:222222

sybase:555555

root:123456

这里存在的是rsync服务的密码 这个必须是系统用户

然后这里的密码是随便设置的,与系统用户的密码是不同的。

Rsync 登陆的时候使用。主意这里的文件的权限,有时必须是600

 

[root@prehost etc]# vim rsyncd.motd

++++++++++++++++++++++++++++++++++++++++

+linuxsir.org rsync 2002-2009+

++++++++++++++++++++++++++++++++++++++++

这个配置文件只不过是欢迎信息,随便写。

[root@prehost etc]# service xinetd restart

[root@prehost etc]# chkconfig rsync on  设置开机启动。

 

rsync客户端:

在客户端不用启动rsync服务,直接使用rsync就可以了.

rsync是系统自动安装的,在客户端不用配置参数文件。

 

# rsync -avH root@192.168.0.110::/data /tmp或者是

rsync -avH rsync://root@192.168.0.110/data /tmp命令,效果是一模一样的~~~

一定记住在rsync -daemon 模式中,目录名对应远程主机所发布的模块名,验证用户为/etc/rsyncd.pass中定义的用户。

密码是rsyncd.secrets 这里面得密码。

上面的命令是从rsync服务器上同步数据到rsync客户端。

-H 保留源文件的硬链接文件

    -r 递归模式,包含目录及子目录的所有信息

    -z 在传输文件的同时进行压缩

    -v 显示同步过程的信息

    -t 保留文件的时间标记

    -o 保留文件的属主标记

    -p 保留了文件的权限标记

    -D 保留了设备文件和一些特殊的文件

    -S 对零散文件的处理

    -g 保留了文件的属组信息

    --delete 删除目标目录中有而源目录中没有的信息

是不是命令选项很多呀,不用担心,其实呢还有一个超强的命令选项,

-a 即归档的模式,保留了文件原有的属性,权限,属主,文件链接等信息,就等同于使用了“-ogrlptD

rsync 报错通常的104错误是由于unable to open configuration file "/etc/rsyncd.conf": No such file or directory引起的

ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf 即可解决。

另外 使用rsync 磁盘挂载不能使异步挂载(async)

 

以上就是rsync 服务的数据同步的最基本的应用,如果想更详细的应用,请参考详细的资料