当前位置:  数据库>oracle

rsync 在CentOS等Linux系统下搭建及相关问题分析

    来源: 互联网  发布时间:2017-04-30

    本文导语: rsync是Unix下的一款应用软件,它能同步更新两处计算机的档案与目录,rsync可拷贝/显示目录属性,以及拷贝档案,并可选择性的压缩以及递归拷贝。好,闲话少说,现在开始讨论rsync在CentOS等Linux系统下的搭建过程首先,安装 xi...

rsync是Unix下的一款应用软件,它能同步更新两处计算机的档案与目录,rsync可拷贝/显示目录属性,以及拷贝档案,并可选择性的压缩以及递归拷贝。
好,闲话少说,现在开始讨论rsync在CentOS等Linux系统下的搭建过程
首先,安装 xinetd 和 rsync 包,Centos系统就这点好,可以直接yum安装
yum install xinetd -y
1. 安装完成后,编辑如下配置文件
vim /etc/xinetd.d/rsync
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
这里只需要改动一处,将disable默认的yes改为no
 
2.  创建rsync的配置文件,默认安装后,是没有rsyncd.conf文件的,需要新建,一般都是建立在/etc下
vim  /etc/rsyncd.conf
[WebModel]
path = /opt/data/www
auth users = guest
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
 
上述只是一个很简单的配置,详细的配置大家可以查询资料进行扩充,不过以上配置已经可以满足基本的需求了
path:需要同步的目录,【WebModel】对外同步,供客户端调用的模块名,auth users:验证用户,多个用户请用逗号隔开,uid gid 启动后的用户及用户组,一般保持默认root即可,secrets file 认证用户密码存放的位置,我们后面会编辑这个文件。readonly 关闭只读选项,max connections 客户端的最大链接数,最后的三项就是Log和pid了。
 
3. 编辑客户端使用的密码文件
vim /etc/rsyncd.secrets
guest:yourpassword (即用户名:密码的方式)
给文件赋权
chown   root:root   /etc/rsyncd.secrets
chmod  600           /etc/rsyncd.secrets  (这里注意,该文件的权限必须为600)
 
4. 启动 xinetd 服务
/etc/init.d/xinetd start
 
5. 添加防火墙 IPtables 规则,开放 873 端口对外访问(873为rsync的默认端口)
iptables -I INPUT -s remote_ip -p tcp --dport 873 -j ACCEPT
 
至此,服务端设置完毕,现在开始设置客户端
 
1. 客户端默认已经安装了rsync,如果尚未安装,执行以下命令进行安装
yum install rsync -y
 
2. 执行同步:
/usr/bin/rsync -vzrtop --delete guest@localip::WebModel  /opt/data/www/  (localip 即你安装rsync服务端的IP)
这里会提示你输入密码,输入你在服务端创建的 rsyncd.secrets 中的密码即可,如果想省去输入密码的麻烦,可以做如下操作:
/usr/bin/rsync -vzrtop --delete guest@localip::WebModel   /opt/data/www --password-file=/etc/rsyncd.scrt
这样我们创建 /etc/rsyncd.scrt 文件,并将上面 /etc/rsyncd.secrets 中的密码输入,注:只输入密码,不要用户名
同时,赋予密码文件0600权限,只允许属主访问  chmod 0600 /etc/rsyncd.scrt
 
3. 好了,此时服务端和客户端就设置完毕了,你可以设置一个定时任务,让客户端定时去服务端同步数据
crontab -e
01 00 * * */usr/bin/rsync -vzrtop --delete  guest@localip::WebModel  /opt/data/www/ --password-file=/etc/rsyncd.scrt
这里表示每天的0点01分同步服务端数据
 
可能会遇到的问题:
问题一:
@ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端的目录不存在或无权限。
创建目录并修正权限可解决问题。
     问题二:
@ERROR: auth failed on module tee rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败
问题三:
@ERROR: Unknown module ‘tee_nonexists’ rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
 
原因:
服务器不存在指定模块。













































































提供正确的模块名或在服务器端修改成你要的模块以解决问题。

 

问题四:

rsync: link_stat "." (in *** ) failed: Permission denied (13)

*** 是指你同步的某一个文件夹模块的名字,一般在服务端进行同步时会碰到,这个问题是因为一些Linux的SELinux默认开启了Enforce模式,将其关闭即可 直接执行getenforce 0 , 问题即可解决。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • rsync 安装后,找不到rsync.conf
  • 如何更改rsync的运行权限
  • rsync和服务器同步的问题
  • 为什么要启动rsync服务?不启动一样用啊
  • rsync怎么设置权限啊?
  • GAdmin-Rsync
  • 图形界面rsync Grsync
  • rsync同步问题
  • 数据同步 rsync
  • linux--aix rsync备份
  • Windows使用rsync,不懂的两种方式???请教
  • rsync客户端如何从远程计算机上传输多个文件到本地计算机?
  • 新手关于rsync的问题请教各位大侠
  • 关于rsync同步模块配置问题
  • rsync如何同步指定的一些文件?(只用一次命令)
  • C程序调用system启动rsync,密码不知道怎么输入。
  • rsync 时间戳同步的问题
  • 使用rsync遇到以下问题?谁能帮助我?
  • rsync 同步文件问题,请熟悉的朋友帮我看看
  • rsync结合find技巧分享


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,