使用cwrsync同步windows文件到linux
需要软件
windows:cwrsync服务端
下载地址:下载4.1.0服务端安装包
linux:rsync客户端
centos安装:yum install rsync
windows服务端安装过程
在windows系统安装cwRsyncServer
- 解压cwRsyncServer_4.1.0_Installer.zip,双击cwRsyncServer_4.1.0_Installer.exe
- 点击Next
- 点击I Agre(同意)
- 选择安装路径,默认即可,点击Next
- Service account:SvcCWRSYNC (新建的一个系统账户)
Type password:密码为随机生成的密码
Confirm password:密码为随机生成的密码
记录该处的截图即包含随机生成的密码
备注:系统会自动创建一个账户:SvcCWRSYNC来运行cwRsyncServer服务端程序
以上信息默认即可
点击Install (安装)
- 点击Close(关闭),安装完成
把服务改为自动启动:
- 在运行中输入
services.msc
打开“服务”,找到服务名为RsyncServer
,右键属性
- 选择启动类型:自动,点“启动”
- 服务启动成功,点击“停止”
设置要同步的目录,给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为例子)
- 安装rsync,执行:
yum install rsync
- 新建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
- 新建密码文件,执行
vi /opt/rsyncd.secrets
,内容如下:
123456
- 执行命令同步远程test模块的文件到本地的
/opt/rsync/
目录下,执行:
rsync -vzrtopg --progress --password-file=/opt/rsyncd.secrets rsync://userdata@172.16.1.102:873/test /opt/rsync/
- (可选)添加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