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

企鹅博客
19502
文章
0
评论
2019年12月15日13:43:55 评论 220 views 2377字阅读7分55秒

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 [email protected]::WebModel  /opt/data/www/  (localip 即你安装rsync服务端的IP)
这里会提示你输入密码,输入你在服务端创建的 rsyncd.secrets 中的密码即可,如果想省去输入密码的麻烦,可以做如下操作:
/usr/bin/rsync -vzrtop --delete [email protected]::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  [email protected]::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]
 
原因:
服务器不存在指定模块。

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

 

问题四:

继续阅读
  • 版权声明: 发表于 2019年12月15日13:43:55
  • 转载注明:https://www.qieseo.com/152186.html
Ubuntu下SVN+SVNManager搭建 linux服务器应用

Ubuntu下SVN+SVNManager搭建

SVNManager是一个基于Web的Subversion图形化管理工具。利用这个工具,用户可以远程创建配置库、删除和加载配置库、设置用户访问权限、邀请创建账号等功能。 下面说说在Ubuntu下SVN...
Linux的swap分区大小的调整 linux服务器应用

Linux的swap分区大小的调整

有台Linux服务器需要扩大swap,但原硬盘因分区问题,没有办法调整swap分区的大小。 通过建立一个swap文件的方法,来解决操作系统的交换空间(虚拟内存)问题。 通过下面方法建立swap文件: ...
Hadoop之自定义输入数据 linux服务器应用

Hadoop之自定义输入数据

默认KeyValueTextInputFormat的数据输入是通过,空格来截取,区分key和value的值,这里我们通过自定义来实现通过 “,”来截取。 一,准备文件数据: 2,自定义MyFileIn...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: