RSYNC文件同步服务器搭建和文件同步的使用

Rsync是linux,WIN平台下一款非常好用的文件同步软件,自带算法支持增量同步,可靠性非常高。本文介绍一下WIN平台下rsync的搭建和使用。

下载前准备:

  • 0.5_Installer (http://linux.linuxidc.com/index.php?folder=MjAxNMTq18rBzy8x1MIvMjTI1S9jd1JzeW5jIDQuMC41LVJzeW5jIGZvciBXaW5kb3dzIM/C1Ng=)

 

安装:

  • 安装服务端
    • 点击服务端安装程序进行安装,安装过程中提示输入服务端程序以服务运行时的用户名,密码。可以自定义,也可以用默认的用户名密码设置。(cwrsync— cwrsync)
    • 编辑配置文件(打开配置文件(如:C:\Program Files\ICW\rsyncd.conf )

*注意,配置文件大小写敏感,包括WIN下面的目录名

use chroot = false

strict modes = false

lock file = rsyncd.lock

#hosts allow = 192.168.1.21

max connections = 5

port = 28950

pid = 0

uid = 0

gid = 0

 

log file = /cygdrive/E/MyTemp/rsyncd.log

 

# Module definitions

# Remember cygwin naming conventions : c:\work becomes /cygdrive/c/work

 

[bak1]

path = /cygdrive/E/MyTemp/Download

auth users = jhshen

secrets file = /cygdrive/E/MyTemp/rsyncpwd.txt

read only = no

list = no

transfer logging = yes

 

[bak2]

path = /cygdrive/E/MyTemp/dsm_rsync

auth users = jhshen

secrets file = /cygdrive/E/MyTemp/rsyncpwd.txt

read only = no

list = no

transfer logging = yes

 

 

 

以上Windows目录的写法,应该按照POSIX风格来写,默认配置文件的写法cygwin貌似不工作,而要写成cygdrive,如D:/data,要写成/cygdrive/d/data。

 

以上配置只允许192.168.1.21访问,这里按需修改。

 

strict modes = false 不验证用户密码,

 

pid = 0,uid = 0指定匿名访问。

 

auth users : 指访问data_backup的用户名

 

secrets file : data_backup用户名对应的密码文件。

 

 

  • 新建密码文件:E:\Setting\Rsync\rsync_db.ps

root:root

admin:12345

 

密码文件格式:用户名:密码,一行一个,有的系统不支持长密码,另个密码文件的权限对其它用户组是不可读的,设置错了可能不工作。在Windows下,密码文件的访问权限一定要设置正确,不然用户验证的时候通不过。应将密码文件E:\Setting\Rsync\rsync_db.ps的权限加入Rsycn服务运行服务的用户名 cwRsyncServer 的读取权限 及 设置其为该文件为所有者。

 

 

  • 在服务管理器中,找到服务 RsyncServer 服务,并启动服务。
  • 如果开启了防火墙,则防火墙规则中要添加Tcp端口 28950 允许通信。
  • 服务验证,打开dos命令框,输入telnet 192.168.2.11 28950 (如果没有安装telnet服务端与客户端,请在控制面板->添加删除程序->打开关闭windows功能中找到Telnet客户端和服务端,勾选进行安装)。如果telnet能成功连接,出现@RSYNCD: 30.0 等类似文字,则说明服务启动正常。

 

 

 

  • 安装客户端

使用命令行:

rsync –port=28950 -vzrtopg –progress –delete jhshen@127.0.0.1::bak1 /cygdrive/E/MyTemp/1  –password-file=/cygdrive/E/MyTemp/c.txt

 

以上表示,将服务器【data_backup】中定义的目录,备份到E/MyTemp/1下,并且服务器上没有的文件客户端会删除—以服务器为准,单向镜像,使得客户端与服务器保持一致

用户名为jhshen, 密码为cygdrive/E/MyTemp/c.txt文件中提供,一行只有密码,和服务中的配置一样

 

 

rsync –port=28950 -vzrtopg –progress –delete  /cygdrive/E/MyTemp/1  jhshen@127.0.0.1::data_backup   –password-file=/cygdrive/E/MyTemp/c.txt

 

以上表示,,E/MyTemp/1目录  备份到服务器【data_backup】中定义的目录下,并且1目录下没有的内容,服务器上也会删除,单向镜像

 

–delete:如果源端没有此文件,那么目的端也别想拥有,删除之。(如果你使用这个选项,就必须搭配-r选项一起)

–delete-excluded:专门指定一些要在目的端删除的文件。

–delete-after:默认情况下,rsync是先清理目的端的文件再开始数据同步;如果使用此选项,则rsync会先进行数据同步,都完成后再删除那些需要清理的文件。

这个学习可是要小心使用到,一不小心会删除很多东西哦。

可以使用-n选项,它会用受影响的文件列表来警告你,但不会真的去删除,这就让我们有了确认的机会和回旋的余地。

 

  • 从群晖里复制文件到WINX下的rsync服务器

sudo -i

rsync –port=28950 -vzrtopgn –progress –delete  /volume1/dsm1  jhshen@192.168.249.1::bak2

 

 

发布者

PdBeta

QQ:7979779 邮箱:pdbeta@qq.com 网站:WWW.PdBeta.COM 数窗工作室微博:www.weibo.com/datawindow PdBeta的微博:www.weibo.com/pdbeta

发表评论

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