安装

介绍

Rsync是一个有名的Linux端同步工具,最大的特点是参数非常详细,可以实现多种多样的传输要求,该工具本身是一个Linux平台软件,在Windows端对应的是cwRsync,使用方法和原来的Rsync类似。由于cwRsync只是用Cygwin将rsync移植到Windows平台的,所以可以用于linux到Windows、Windows到Linux、Windows到Windows等等。

安装版本

服务端:cwRsyncServer_4.1.0_Installer.exe
客户端:cwRsync_4.1.0_Installer.exe

服务端安装

运行 cwRsyncServer_4.1.0_Installer.exe ,一步步默认安装完毕
安装目录 : 安装目录在 D:\Program Files\ICW
安装过程中 会提示创建 用于启动rsync 的账号 这一步默认即可
如果要修改 密码必须符合复杂性要求(系统启用了密码策略)
或者在本地安全策略关闭密码复杂性要求
否则 安装完毕后在系统找不到 RsyncServer服务

修改安装目录下 rsync.conf

uid = 0 
gid = 0 
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
port = 873
 
[Repositories]
path =  /cygdrive/d/backup/Repositories
secrets file = /cygdrive/d/Program Files/ICW/rsyncd.secrets
list = true
auth users = username
read only = false

服务端配置介绍

hosts allow – 设定允许访问本服务端的客户端的IP, *代表任何客户端都可以访问。多个IP用 逗号分割
port --指定服务端端口
[Repositories] – 是一个初始的模块 (客户端连接的时候需要)
path – 模块对应的文件路径,这里work后面有没有正向斜线"/"都一样。后面客户端的中的斜线比较重要。
read only – 设置目录是否只读
transfer logging – 是否记录日志
uid = 0 和 gid = 0 – 如果不增加 从linux下同步文件过来会有损坏。
secrets file 该文件保存客户端使用的用户和密码(格式 username:password)
/cygdrive/d/Program Files/ICW/rsyncd.secrets 是unix风格的文件路径
对应windows下的文件路径为
D:\Program Files\ICW\rsyncd.secrets 并且 rsyncd.secrets默认没有的 需要手动建立 文件内容的格式如:“username:password”

目录权限设置

服务端存放文件的目录需要做一定修改 将安装cwRsyncServer_4.1.0_Installer.exe时创建的服务器运行用户 添加到该文件夹的用户列表里并赋予全部权限

启动

如果启动提示权限问题 设置如下
chmod.exe -c 600 “/cygdrive/d/Program Files/ICW/rsyncd.secrets”
chown.exe rsync “/cygdrive/d/Program Files/ICW/rsyncd.secrets” //rsync 替换成安装时创建的用户

在服务里启动RsyncServer

客户端安装

运行 cwRsync_4.1.0_Installer.exe 一步步默认安装完毕后
安装目录在 D:\Program Files\cwRsync

修改客户端安装目录的同步脚本cwrsync.cmd

@echo off
: 设置传入脚本的参数PARA1
SET PARA1=%1%
: 设置客户端程序的家目录
: SET RSYNC_CLIENT_HOME="/cygdrive/d/Program Files/cwRsync/"

: 设置客户端程序传输文件时使用的密码,对应于后面SERVER_FILE中的user。
SET PASS_FILE="/cygdrive/d/Program Files/cwRsync/rsync.pass"
 
: 设置日志文件路径
SET LOG_FILE="/cygdrive/d/Program Files/cwRsync/rsync.log"
 
: 指定远端服务端所使用的端口
SET PORT=873
 
: 指定远端服务中设定的用户,服务器IP,模块。格式必须是 username@IP::modulename
SET SERVER_FILE_PATH=username@192.168.100.52::Repositories
 
: 指定客户端本地对应的文件存放路径,注意这里的末尾需要带上正向斜线"/",代表这是个目录,:
: REM 当将本地文件CLIENT_FILE推送到远端时,没有斜线则代表推送该文件夹,有斜线则代表推送该文件夹下面的文件。:
: 例外,若是从远端拉取文件到本地时,这个斜线有无都没有关系。所以,我们最好都加上斜线,代表我们同步该文件夹下的所有文件。:
SET CLIENT_FILE_PATH=/cygdrive/d/bakup/auto/
 
: 调用rsync程序执行文件同步,以下命令将%FILE1%同步到%FILE2%。
: bin\rsync -avzP   --delete-after --progress --password-file=%PASS_FILE% --log-file=%LOG_FILE% --port=%PORT%  %SERVER_FILE_PATH%  %CLIENT_FILE_PATH%
 
if "%PARA1%"=="get"  ( 
    echo  ====== starting %PARA1% files from %SERVER_FILE_PATH% .. ======
    "./bin/rsync" -avzP   --delete-after --progress --password-file=%PASS_FILE% --log-file=%LOG_FILE% --port=%PORT%  %SERVER_FILE_PATH%  %CLIENT_FILE_PATH%
    echo  ====== successfully %PARA1% files !
	)
if "%PARA1%"=="pull" (
    echo  ====== starting %PARA1% files to %SERVER_FILE_PATH% .. ======
    "./bin/rsync" -avzP  --delete-after  --progress --password-file=%PASS_FILE% --log-file=%LOG_FILE% --port=%PORT%  %CLIENT_FILE_PATH%  %SERVER_FILE_PATH% 
	echo  ====== successfully %PARA1% files !
	)

rsync.pass 配置 需要自己创建 直接 第一行写密码就可以
注意: 以上配置路径中若有空格 一定要加上引号

运行

执行以下两个命令 才能执行
复制服务端安装目录下的 chown.exe和chomod.exe放在客户端目录下
在客户端安装目录下执行
chmod.exe 600 “/cygdrive/d/Program Files/cwRsync/rsync.pass”
chown.exe administrator “/cygdrive/d/Program Files/cwRsync/rsync.pass” //administrator 换成自己的管理员用户名

在cmd命令行中执行 cwrsync.cmd get 或者 cwrsync.cmd pull

添加Windows计划任务

打开计划任务->创建任务
在这里插入图片描述
触发器设置
在这里插入图片描述
操作设置
在这里插入图片描述
注意: 程序脚本中有空格 下面的 起始于 一定要配置 D:\Program Files\cwRsync\

常见问题

  1. 安装完成 在服务里找不到RsyncServer服务
    一种原因是:
    安装过程中 会提示创建 用于启动rsync 的账号 这一步默认即可
    如果要修改 密码必须符合复杂性要求(系统启用了密码策略)
    或者在本地安全策略关闭密码复杂性要求
    否则 安装完毕后在系统找不到 RsyncServer服务
    另一种原因:
    在虚拟机里安装 需要安装 Vmware tools

  2. password file must be owned by root when running as root
    复制服务端安装目录下的 chown.exe和chomod.exe放在客户端目录下
    在客户端安装目录下执行
    chmod.exe 600 “/cygdrive/d/Program Files/cwRsync/rsync.pass”
    chown.exe administrator “/cygdrive/d/Program Files/cwRsync/rsync.pass” //administrator 换成自己的管理员用户名

  3. Windows Server 2008 R2通过计划任务定时执行bat文件 显示成功但实际未执行
    计划任务的 操作配置中
    程序脚本中有空格 下面的 起始于 一定要配置 D:\Program Files\cwRsync\

Logo

更多推荐