Linux下配置Rsync实现文件同步

Rsync的文件同步实现

一、rsync 简介

    Rsync(remote synchronize)是一个远程数据同步工具,简要的概括就是主机于主机之间的文件目录数据的一个同步。

   它的特性如下:

   可以镜像保存整个目录树和文件系统。

    可以很容易做到保持原来文件的权限、时间、软硬链接等等。

    无须特殊权限即可安装。

    快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

    安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

   支持匿名传输,以方便进行网站镜象

   度娘上面的解析。(我懒得看,可谓见其文,不如悟其理。看着我操作一遍立刻明白!)

  总的来说是一个容错、可靠、高效的文件同步工具 。 

二、环境需求(虚拟机上面搭建的环境)

系统:ceotos 6.5  内核:2.6.32-431.el6.x86_64

主机A:192.168.0.244/24        

主机B:192.168.0.144/24

rsync-3.1.2.tar.gz

三、搭建rsync

rsync在主机A上面配置:

注意:rsync最重要的2个文件    1、rsyncd.conf    配置文件

2、rsyncd.password  用户密码文件  

其他的rsyncd.motd  这些是次要的,这只是一个显示页面信息,类似于访问一个服务器的时候提示的一些广告似的信息。

本次操作中我在主机A的etc目录下面直接创建了上面三个文件。

-rw-r--r-- 1 root root 443 Aug 16 10:49 /etc/rsyncd.conf -rw-r--r-- 1 root root 252 Aug 16 10:44 /etc/rsyncd.motd -rw-r--r-- 1 root root 18 Aug 16 10:44 /etc/rsyncd.password

rsync.passwd:

nowview:nowcaster

rsync.motd:(打广告了)

***************************************** * * * Rsync * * * * * *****************************************

rsyncd.conf:这里我只是主要测试这个文件同步的功能,你们需要其他更多的功能的话,可以自行添加相关参数模块即可,可以参考:

#This is rsync conf###### uid = nowview #需要添加的,以及下面的模块里面的目录backup的属性需要改为nowview用户的 gid = nowview #关于这个uid跟gid没有处理好,后面在同步备份文件的时候后报错,文件权限不够。用root最保守,不过安全性。。这个需要自己认真调配置参数 max connections = 200 timeout = 300 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log #可以设置显示格式log format = %t %a %m %f %b motd file = /etc/rsyncd.motd #第一个打广告信息 - - [backup] #同步的模块的名称 path = /home/backup #模块下面的同步具体路径 ignore errors read only = false list = false hosts allow = * hosts deny = 0.0.0.0/32 auth users = nowview #用户名 secrets file = /etc/rsyncd.password exclude = www/ GR068/ #这是除了home目录的下www 跟GR068目录 comment = loading..... #第二个打广告信息,下面测试的时候可以看到 - -

找一下rsync的主程序,一般安装在了  /usr/local/bin/rsync  

cp -a   /usr/local/bin/rsync   /usr/bin/rsync    放到bin下面

下面使用daemon启动rsync

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

ps看一下进程,rsync的默认端口是873  

[root@主机A-144 home]# ps -ef |grep rsync root 5835 1 0 10:51 ? 00:00:00 /usr/bin/rsync --daemon --config=/etc/rsyncd.conf root 5864 1323 0 11:08 pts/1 00:00:00 grep --color rsync

 

[root@主机A-144 home]# netstat -lantup |grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 5835/rsync tcp 0 0 :::873 :::* LISTEN 5835/rsync

 

继续。。。

想开机启动的话,把

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf 添加到/etc/rc.d/rc.local 下面即可
注意:1、这个rsyncd.passwd 文件 的所属组是root 如果你的当前用户比如是rsync那就是改成rsync即可

chown rsync.rsync /etc/rsyncd.password

2、rsyncd.passwd 的权限改为600 否则密码无法访问

[root@主机A-144 ~]# chmod 600 /etc/rsyncd.password [root@主机A-144 ~]# ll -d /etc/rsyncd.password -rw------- 1 root root 18 Aug 16 10:44 /etc/rsyncd.password [root@主机A-144 ~]#

在主机A添加nowview用户

useradd nowview

以上在主机A配置全部完毕!

四、测试

下面在主机B上面进行测试。

曾经在测试的时候出现过形形色色的问题(粗心--),我把这些问题归纳在一起。

注意:1、为了方便测试,我就把主机A和主机B的防火墙直接关闭掉,如果你对这方面有要求的话,就直接把873这个端口从两边打通即可。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/75f1a03ae8c44c297f2f64547fc8193f.html