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 服务的数据同步的最基本的应用,如果想更详细的应用,请参考详细的资料