使用cwrsync同步windows文件到linux

需要软件

windows:cwrsync服务端 下载地址:下载cwrsyncserver4.1.0服务端安装包

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

一、windows系统安装cwRsyncServer

1.解压cwRsyncServer_4.1.0_Installer.zip,双击cwRsyncServer_4.1.0_Installer.exe 2.点击next 3.点击I Agree(同意) 4.安装路径,默认即可,点击Next 5.Service account:SvcCWRSYNC (新建的一个系统账户) Type password:密码为随机生成的密码 Confirm password:密码为随机生成的密码! 备注:系统会自动创建一个账户:SvcCWRSYNC来运行cwRsyncServer服务端程序 以上信息默认即可 点击Install (安装) 6.点击Close(关闭),安装完成

二、把服务改为自动启动

1.在运行中输入services.msc打开“服务”,找到服务名为RsyncServer,右键属性 2.选择启动类型:自动,点“启动” 3.服务启动成功,点击“停止”

三、授予控制权限

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

四、修改配置

1.打开安装目录(默认是在C:Program FilesICW目录) 用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份文件为rsyncd.confbak。若权限不够,则按上述授予权限方式为自己的windows账户授予权限)

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

[test]
path = /cygdrive/d/app/log
read only = true
transfer logging = yes
hosts allow = *
secrets file = etc/rsyncd.secrets

解释一下代码 uid = 0 gid = 0 use chroot = false strict modes = false hosts allow = * log file = rsyncd.log

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

修改完成之后,保存退出

2.在安装目录/etc目录下(默认是C:Program FilesICWetc目录)下面新建rsyncd.secrets文件 用记事本打开,输入以下内容:(格式:用户名:密码) userdata:123456 最后保存退出 cwRsyncServer服务端安装设置完成,然后在运行中输入services.msc打开“服务”,找到服务名为RsyncServer,右键启动RsyncServer服务

五、Linux客户端配置

1.安装rsync,执行:apt 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

代码解释 secretsfile=/opt/rsyncd.secrets #指出密码文件路径 path=/opt/rsync/ #linux下共享文件路径,可以改 authusers=userdata #连接到windows上的用户 3.新建密码文件,执行vi /opt/rsyncd.secrets,内容如下: 123456

六、执行命令同步远程test模块的文件到本地的/opt/rsync/目录

linux上执行 rsync -vzrtopg --progress --password-file=/opt/rsyncd.secrets rsync://userdata@10.7.93.253:873/test /opt/rsync/

解释: 10.7.93.253是windows的ip地址 873是端口

注意:执行前确保windows共享文件夹已经建好

为了方便我们添加cron自动同步,这里设置每一分钟自动同步,新创建一个脚本vi /opt/dosync.sh,写入内容 rsync -vzrtopg --progress --password-file=/opt/rsyncd.secrets rsync://userdata@10.7.93.253:873/test /opt/rsync/ 授予可执行权限chmod +x dosync.sh linux下执行

vi /etc/crontab
*/1 * * * * /opt/dosync.sh
:wq

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

 

原文地址:https://www.cnblogs.com/Guser/p/14876488.html