兴發国际娱乐手机登录6服务端和客商端搭建,Inotify达成实时手拉手

rsync3.0.6服务端和客户端搭建(前期铺垫)

CentOS6.4下搭建Rsync+Inotify实现实时同步

rsync是linux下的文件同步服务,功能简单来说就是服务端打开873端口,客户端连接这个端口,并对服务器端配置的目录进行同步,可以理解为客户端比对服务器端资源后,对增量或者差异的数据进行增删改操作,功能支持上传或下载比对,也就是远程数据比对本地数据而后对远程数据进行增删改操作,以及本地数据比对远程数据然后对本地数据进行增删改操作。

 

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步

rsync是linux下的文件同步服务,功能简单来说就是服务端打开873端口,客户端连接这个端口,并对服务器端配置的目录进行同步,可以理解为客户端比对服务器端资源后,对增量或者差异的数据进行增删改操作,功能支持上传(推送)或下载(获取)比对,也就是远程数据比对本地数据而后对远程数据进行增删改操作,以及本地数据比对远程数据然后对本地数据进行增删改操作。

centos6.4下默认已经安装,只需保证依赖服务xinetd开启即可。

环境搭建:

一、首先关闭selinux与iptables

[vi /etc/sysconfig/selinux]

把[SELINUX=enforcing]修改为[SELINUX=disabled]

修改selinux的配置需要重启服务器使其配置生效

[service iptables stop]

[chkconfig iptables off]

二、配置分为2个部分

server端:**

1.安装rsync(centos6.4默认已安装)

[yum install rsync -y]

[yum install xinetd -y]

2.启动rsync依赖服务

[/etc/init.d/xinetd start]

[chkconfig xinetd on]

3.配置/etc/rsyncd.conf

[vi /etc/rsyncd.conf]

uid = root

gid = root

use chroot = no

max connections = 10

strict modes = yes

port = 873

address = 192.168.1.13

[mail]

path = /home/domains/

comment = mirror for extmail

ignore errors

read only = no

list = no

auth users = user

secrets file = /etc/rsync.pas

hosts allow = 192.168.1.14

hosts deny = 0.0.0.0/0

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

参数详解

read only = no #表示可写

port =873#端口

4.配置/etc/rsync.pas

在服务器端,必须加入登陆名和密码,在client上,只需要输入密码

[vi /etc/rsync.pas]

user:123456

chmod 600 /etc/rsync.pas #防止非root帐号修改!

6.启动rsync

rsync –daemon –config=/etc/rsyncd.conf

client端:**

1.安装rsync(centos6.4默认已安装)

[yum install rsync -y]

[yum install xinetd -y]

2.启动rsync依赖服务

[/etc/init.d/xinetd start]

[chkconfig xinetd on]

3.客户端必须配置密码文件

[vi /etc/rsync.pas]

123456 #和服务器的用户密码一致!!

chmod 600 /etc/rsync.pas #同服务器↑

4.然后在客户端输入命令同步:

下载(获取):

[rsync -auzv –progress –delete
–password-file=/etc/[email protected]::mail/home/domains]

上传(推送):

[rsync -auzv –progress –delete –password-file=/etc/rsync.pas
/home/domains/*[email protected]::mail]

若使用的不是–port 873#配置文件中指定的端口号;需要添加 –port参数

!!!!!参数详解!!!!!

[email protected]::mail/home/domains

user对应server端配置文件的auth users =user

和server端/etc/rsync.pas内用户名:密码(user:123456)

192.168.1.13对应服务端IP地址

mail对应server端配置文件的[mail]

/home/domains表示client端同步server端数据后数据保存在client端目录的路径

@与::均起到字符连接功能


按照上面的格式加密重写(完整格式):

下载(获取):

# rsync -auzvP –delete -e “ssh
-p22″[email protected]:/home/domains//home/domains/
–port 873

上传(推送):

# rsync -auzvP –delete -e “ssh -p22”
/home/domains/[email protected]:/home/domains/–port
873

注:–progress可以简写为-P

5.定时计划任务:

在crontab中增加一条命令,设置每分钟自动执行一次。

# crontab -e


* * * * * /usr/bin/rsync -auzv –progress –delete
–password-file=/etc/[email protected]::mail/home/domains


6.为了安全,若系统启用防火墙,建议增加一条iptables命令

# iptables -A INPUT -P tcp –dport:873 -j ACCEPT

7.如果需要多个不同目录支持同步,再增加一个

[MYSQL]

path = /usr/local/mysql/data

comment = mysql mirror

ignore errors

read only = yes

list = no

auth users = root

secrets file = /etc/rsync.pas

hosts allow = 172.24.40.50

hosts deny = 0.0.0.0/0

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

重启rsync

# pkill rsync

# rsync –daemon –config=/etc/rsyncd.conf

然后在客户端输入命令同步

rsync -auzv –progress –delete
–password-file=/etc/[email protected]::MYSQL/usr/local/mysql/data

—————–大功告成—————————–

注:配置过程问题:

问题1:

在client上遇到问题:

rsync -auzv –progress
–password-file=/etc/[email protected]::backup
/home/

rsync: could not open password file “/etc/rsync.pas”: No such file or
directory (2)

Password:

@ERROR: auth failed on module backup

rsync error: error starting client-server protocol (code 5) at
main.c(1506) [Receiver=3.0.7]

遇到这个问题:client端没有设置/etc/rsync.pas这个文件,而在使用rsync命令的时候,加了这个参数–

password-file=/etc/rsync.pas

问题2:

rsync -auzv –progress
–password-file=/etc/[email protected]::backup
/home/

@ERROR: auth failed on module backup

rsync error: error starting client-server protocol (code 5) at
main.c(1506) [Receiver=3.0.7]

遇到这个问题:client端已经设置/etc/rsync.pas这个文件,里面也设置了密码111111,和服务器一致,但是

服务器段设置有错误,服务器端应该设置/etc/rsync.pas ,里面内容root:111111
,这里登陆名不可缺少

问题3:

rsync -auzv –progress
–password-file=/etc/[email protected]::backup
/home/

@ERROR: chdir failed

rsync error: error starting client-server protocol (code 5) at
main.c(1506) [Receiver=3.0.7]

遇到这个问题,是因为服务器端的/home/backup
其中backup这个目录并没有设置,所以提示:chdir failed

问题4:

rsync: write failed on “/home/backup2010/wensong”: No space left on
device (28)

rsync error: error in file IO (code 11) at receiver.c(302)
[receiver=3.0.7]

rsync: connection unexpectedly closed (2721 bytes received so far)
[generator]

rsync error: error in rsync protocol data stream (code 12) at io.c(601)
[generator=3.0.7]

磁盘空间不够,所以无法操作。

可以通过df /home/backup2010来查看可用空间和已用空间

问题5:网络收集问题

1、权限问题

类似如下的提示:rsync: opendir “/kexue” (in dtsChannel) failed:
Permission denied (13)注意查看同步的目录权限是否为755

2、time out

rsync: failed to connect to 203.100.192.66: Connection timed out (110)

rsync error: error in socket IO (code 10) at clientserver.c(124)
[receiver=3.0.5]

检查服务器的端口netstat–tunlp,远程telnet测试。

3、服务未启动

rsync: failed to connect to 10.10.10.170: Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(124)
[receiver=3.0.5]

启动服务:rsync –daemon –config=/etc/rsyncd.conf

4、磁盘空间满

rsync: recv_generator: mkdir “/teacherclubBackup/rsync……” failed: No
space left on device (28)

*** Skipping any contents from this failed directory ***

5、Ctrl+C或者大量文件

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at
rsync.c(544) [receiver=3.0.5]

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at
rsync.c(544) [generator=3.0.5]

6、xnetid启动

rsync: read error: Connection reset by peer (104)

rsync error: error in rsync protocol data stream (code 12) at io.c(759)
[receiver=3.0.5]

查看rsync日志

rsync: unable to open configuration file “/etc/rsyncd.conf”: No such
file or directory

xnetid查找的配置文件位置默认是/etc下,根据具体情况创建软链接。例如:

ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf

或者更改指定默认的配置文件路径,在/etc/xinetd.d/rsync配置文件中

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步
rsync是linux下的文件同步服务,功能简单来说就是服务端打…

CentOS6.3下默认已经安装,只需保证依赖服务xinetd开启即可。 

服务端:(环境:centos5.5 64位)

环境搭建: 

 

注:首先关闭selinux与iptables

    1.安装 :

# vi /etc/sysconfig/selinux

 


           使用yum -y install rsync

SELINUX=disabled

 


            配置 vi /etc/xinetd.d/rsync  修改disable为no  不禁用

# setenforce 0

 

# service iptables stop

            在/etc下创建rsyncd.conf文件

 

 

配置分为2个部分

            uid = root ()

 

            gid = root

server端:

            use chroot = no

 

            max connections = 7

1.安装rsync(centos6.3默认已安装)

            pid file = /var/run/rsyncd.pid

# yum install rsync -y

            lock file = /var/run/rsync.lock

# yum install xinetd -y

            log file = /var/log/rsyncd.log

 

 

2.启动rsync依赖服务

 

# /etc/init.d/xinetd start

            [backup]  (模块)

# chkconfig xinetd on

            path = /home/xx/   (要同步数据的路径)

 

            comment = xx.xx.com backup

3.配置/etc/rsyncd.conf

            ignore errors (忽略错误)


            read only = yes

uid = root

            list = no

gid = root

            auth users = rsyncuser  (授权用户)

use chroot = no

            secrets file = /home/xxx/rsync.ps

max connections = 10

            hosts allow =
*(指定不允许连接rsync服务器的机器,可以使用hosts
allow的定义方式来进行定义。默认是没有hosts deny定义。)

strict modes = yes

            hosts deny = 0.0.0.0/0    

port = 873

            transfer logging = yes   (使用log日志)

address = 172.24.40.30

            log format = “%a %f %l”  (日志文件   %h 远程主机名

[mail]

                                                                %a
远程IP地址

path = /home/domains/

                                                                %l
文件长度字符数

comment = mirror for extmail

                                                                %p
该次rsync会话的进程id

ignore errors

                                                                %o
操作类型:”send”或”recv”

read only = no

发表评论

电子邮件地址不会被公开。 必填项已用*标注