windows:cwrsync服务端 下载地址:
一、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
停止定时任务