Windows下的Rsync(cwRsync)
Windows下的Rsync安装介绍安装版本服务端安装修改安装目录下 rsync.conf服务端配置介绍目录权限设置启动客户端安装修改客户端安装目录的同步脚本cwrsync.cmd运行添加Windows计划任务常见问题安装介绍Rsync是一个有名的Linux端同步工具,最大的特点是参数非常详细,可以实现多种多样的传输要求,该工具本身是一个Linux平台软件,在Windows端对应的是cwRsync
Windows下的Rsync
安装
介绍
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\
常见问题
-
安装完成 在服务里找不到RsyncServer服务
一种原因是:
安装过程中 会提示创建 用于启动rsync 的账号 这一步默认即可
如果要修改 密码必须符合复杂性要求(系统启用了密码策略)
或者在本地安全策略关闭密码复杂性要求
否则 安装完毕后在系统找不到 RsyncServer服务
另一种原因:
在虚拟机里安装 需要安装 Vmware tools -
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 换成自己的管理员用户名 -
Windows Server 2008 R2通过计划任务定时执行bat文件 显示成功但实际未执行
计划任务的 操作配置中
程序脚本中有空格 下面的 起始于 一定要配置 D:\Program Files\cwRsync\
更多推荐
所有评论(0)