Windows部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器

Windows部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器

奥黛丽·逐爱者
2024-05-09 / 0 评论 / 0 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年05月11日,已超过131天没有更新,若内容或图片失效,请留言反馈。

lvz28ozz.png

场景描述​

需要将Linux服务器某个目录下的所有文件定期同步到WindowsServer2022服务器上

在Windows Server 2022服务器上先安装部署cwRsyncServer

1、下载CwRsyncServer V4.1.0 以管理员身份运行进行安装
CwRsyncServer_V4.1.0_XiTongZhiJia.zip

lvz2dwr7.png

2、系统自动创建用户SvcCWRSYNC,无需修改用户名,修改好密码并记住,然后直接默认安装
安装过程会给系统创建用户,让防护软件放行。
lw1l94e2.png

lw1l8m7b.png

lvz2hzl9.png

3、呼出系统服务,属性-服务启动设置为自动-登入账号密码为刚刚安装时默认账号和修改的密码。
我反复装了好几次,最后成功的一次是使用默认账号和修改的密码登入。所以觉得前几次的坑都是这里没有使用默认账号导致客户端连不上来。
lvz2okv1.png

4、修改配置!!! C:\Program Files (x86)\ICW目录下修改rsyncd.conf

uid = 0
gid = 0
use chroot = false
strict modes = false
#这里↓如果只允许某一个机器访问的话,可以填写IP地址
hosts allow = * 
log file = rsyncd.log 
pid file = rsyncd.pid 
#端口↓默认是873
port = 873
#允许的最大连接数↓
max connections = 4
  
# Module definitions 
# Remember cygwin naming conventions : c:work becomes /cygwin/c/work 
# 模块↓
[backup] 
#路径↓这个是需要同步的文件位置,Windows目录的写法,应该按照POSIX风格来写,
#默认配置文件的写法cygwin貌似不工作,而要写成cygdrive,如D:/data,要写成/cygdrive/d/data。
path = /cygdrive/c/ftp
#只读或者读写↓read only = true 表示客户端只能下载服务端的文件而不能上传(单向同步).如果有上传需要,设置read only = false 即可.
read only =  false
transfer logging = yes
lock file = rsyncd.lock 
#下方↓secrets file密码文件中的用户名
auth users = cwrsync
#密码文件存放的路径↓
secrets file = etc/cwrsync.passwd

uid = 0 gid = 0 记得加上,解决@ERROR: invalid gid nobody报错问题

5、在 C:\Program Files (x86)\ICW\etc 目录下创建cwrsync.passwd密码文件

cwrsync:123456

还要设置好权限
lvz2v8me.png

6、添加cwRsyncServer 873端口的入站防火墙规则 放通入方向的873端口
7、然后启动RsyncServer服务

Linux端部署rsync客户端并测试

Linux端的rsync部署就百度吧。
一般默认都会带吧~

同步命令:
#linux>windows
rsync --progress -avz --delete /home/ixjkj/sync* cwrsync@192.168.0.111::backup

#windows>linux
rsync --progress -avz --delete cwrsync@192.168.0.111::backup  /home/ixjkj/sync*

lvz4cbip.png

lvz31vdd.png

编写脚本,利用crontab实现定时同步

1、新建和编辑一个cwrsync.sh文件

nano /home/ixjkj/cwrsync.sh

填入后保存

#!/bin/bash
rsync --progress -avz --delete cwrsync@192.168.0.111::backup  /home/ixjkj/sync*  >/dev/null 2>&1

lvz381pc.png
给执行权限

chmod 755 /home/ixjkj/cwrsync.sh

2、利用crontab实现定时同步

crontab定义
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
crontab -e
#例如每5钟同步一次
*/5 * * * * /home/ixjkj/cwrsync.sh
crontab -l

查看服务端日志,5分钟一次
lvz3ehcs.png

linux中重启rsync服务
使用root用户或具有sudo权限的用户登录到Linux系统。
打开终端或命令行界面。
停止rsync服务:sudo systemctl stop rsync.service
等待一段时间,确保rsync服务已停止。
启动rsync服务:sudo systemctl start rsync.service
检查rsync服务是否已经启动:sudo systemctl status rsync.service

按参考
部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器
rsync,从零开始Nas备份

0

评论 (0)

取消