Just do your best!!!

使用cwrsync同步windows文件到linux

需要软件

windows:cwrsync服务端
下载地址:下载4.1.0服务端安装包

linux:rsync客户端
centos安装:yum install rsync

windows服务端安装过程

在windows系统安装cwRsyncServer

  1. 解压cwRsyncServer_4.1.0_Installer.zip,双击cwRsyncServer_4.1.0_Installer.exe
  2. 点击Next
  3. 点击I Agre(同意)
  4. 选择安装路径,默认即可,点击Next
  5. Service account:SvcCWRSYNC (新建的一个系统账户)
    Type password:密码为随机生成的密码

Confirm password:密码为随机生成的密码
记录该处的截图即包含随机生成的密码
备注:系统会自动创建一个账户:SvcCWRSYNC来运行cwRsyncServer服务端程序
以上信息默认即可
点击Install (安装)

  1. 点击Close(关闭),安装完成

把服务改为自动启动:

  1. 在运行中输入services.msc打开“服务”,找到服务名为RsyncServer,右键属性

  1. 选择启动类型:自动,点“启动”

  1. 服务启动成功,点击“停止”

设置要同步的目录,给SvcCWRSYNC用户授权该文件夹的控制权限,在该文件夹上点击右键属性,切换到安全选项,点击“编辑”,点击“添加”,输入:SvcCWRSYNC,点击“检查名称”,点击“确定”,勾选“允许”的所有权限,点击“确定”

打开安装目录(默认是在C:Program FilesICW目录)
用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份文件为rsyncd.confbak)

uid = 0
gid = 0
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/d/app/log
read only = true#客户端只读
transfer logging = yes
hosts allow = *#允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写 *即可
secrets file = etc/rsyncd.secrets #存放用户名密码的认证文件路径

修改完成之后,保存退出

在安装目录/etc目录下(默认是C:Program FilesICWetc目录)下面新建rsyncd.secrets文件
用记事本打开,输入以下内容:(格式:用户名:密码)

userdata:123456

最后保存退出
cwRsyncServer服务端安装设置完成,然后启动RsyncServer服务

Linux客户端配置(以CentOS为例子)

  1. 安装rsync,执行:yum install rsync
  2. 新建rsync配置文件:vi /etc/rsyncd.conf文件,内容如下:(我这里配置了一个test模块)
readonly=false
write_only=false
transferlogging=true
logformat=%t%a%m%f%b
logfile=/var/log/rsync.log
pidfile=/var/run/rsyncd.pid
hostsallow=*
secretsfile=/opt/rsyncd.secrets


[test]
path=/opt/rsync/
authusers=userdata
  1. 新建密码文件,执行vi /opt/rsyncd.secrets,内容如下:
123456
  1. 执行命令同步远程test模块的文件到本地的/opt/rsync/目录下,执行:
rsync -vzrtopg --progress --password-file=/opt/rsyncd.secrets rsync://userdata@172.16.1.102:873/test /opt/rsync/
  1. (可选)添加cron自动同步,这里设置每一分钟自动同步,新创建一个脚本vi /opt/dosync.sh,写入内容:
rsync -vzrtopg --progress --password-file=/opt/rsyncd.secrets rsync://userdata@172.16.1.102:873/test /opt/rsync/

授予可执行权限chmod +x dosync.sh
设置cron:

crontab -u root -e
*/1 * * * *  /opt/dosync.sh
:wq

service crond start启动定时任务
service crond stop停止定时任务

附件:cwrsync同步windows文件到linux.docx