前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器

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

作者头像
yuanfan2012
发布2021-09-02 15:05:16
3.3K0
发布2021-09-02 15:05:16
举报
文章被收录于专栏:WalkingCloudWalkingCloud

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

场景描述

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

(图片可点击放大查看)

尝试:前期使用过在WindowsServer2012服务器安装goodsync同步软件这种方案,通过SFTP协议同步Linux服务器某目录所有文件到本地的WindowsServer2012服务器上

但goodsync试用到期后需要购买授权收费

后面决定使用CwRsyncServer这种方法

cwRsync简单介绍

cwRsync是基于cygwin平台打造的rsync软件包,功能强大,绿色安全,可以支持windows对windows、windows对Linux、Linux对windows高效文件同步。

使用 cwRsync 来同步文件后,只需要对一台主服务器进行文件修改,其他镜像服务器可以自动同步,包括文件的更新、删除、重命名等。

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

1、在Windows Server 2012服务器上先安装部署cwRsyncServer

下载CwRsyncServer V4.1.0 正式版(自行百度)

1、以管理员身份运行进行安装

(图片可点击放大查看)

2、系统自动创建用户SvcCWRSYNC,无需修改用户名,修改密码后直接默认安装

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

用户SvcCWRSYNC只用来运行 cwRsyncServer 服务端程序

(图片可点击放大查看)

(图片可点击放大查看)

并将服务启动设置为自动

(图片可点击放大查看)

3、C:\Program Files (x86)\ICW目录下修改rsyncd.conf

修改成如下

代码语言:javascript
复制
use chroot = false
uid = 0 
gid = 0 
strict modes = false
hosts allow = *
log file = rsyncd.log

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[backup]
path = /cygdrive/c/Linux_backup
read only = false
transfer logging = yes
auth users = cwrsync
secrets file = etc/cwrsync.passwd

其中C:\Linux_backup目录当作备份目录(目的端)

(图片可点击放大查看)

  • Tips:

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

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

代码语言:javascript
复制
cwrsync:cwrsync@2021

写入授权用户cwrsync密码

(图片可点击放大查看)

5、接下来创建Linux_backup目录

(图片可点击放大查看)

6、添加cwRsyncServer 873端口的入站防火墙规则

放通入方向的873端口

(图片可点击放大查看)

(图片可点击放大查看)

7、 然后重启RsyncServer服务

(图片可点击放大查看)

(图片可点击放大查看)

2、Linux端部署rsync客户端并测试

若没有安装rsync先yum安装

代码语言:javascript
复制
yum install rsync

(图片可点击放大查看)

代码语言:javascript
复制
cd /home/
dd if=/dev/zero of=test.file count=1 bs=100M

创建测试文件

测试是否可以正常同步传输

代码语言:javascript
复制
rsync --progress -avz --delete /home/* cwrsync@192.168.31.12::backup

(图片可点击放大查看)

(图片可点击放大查看)

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

  • 1、/opt/cwrsync.sh
代码语言:javascript
复制
vi /opt/cwrsync.sh
#!/bin/bash
export RSYNC_PASSWORD=cwrsync@2021
LOCK=/var/log/cwrsync_record.log
echo "备份日期:" >> ${LOCK} 2>&1
echo `date '+%Y-%m-%d_%T'`  >> ${LOCK} 2>&1
echo "=================cwRsync starting==============================="   >> ${LOCK} 2>&1
rsync --progress -avz --delete /home/* cwrsync@192.168.31.12::backup  >> ${LOCK} 2>&1
echo "=================cwRsync Finished==============================="   >> ${LOCK} 2>&1

(图片可点击放大查看)

  • 2、 编辑定制任务
代码语言:javascript
复制
crontab -e


编辑定制任务
*/5 * * * * /opt/cwrsync.sh
例如每5钟同步一次

crontab -l
  • 3 重启crond服务
代码语言:javascript
复制
systemctl restart crond

(图片可点击放大查看)

  • 4、再创建几个测试文件
代码语言:javascript
复制
dd if=/dev/zero of=test_crontab.file count=1 bs=100M
tail -f /var/log/cwrsync_record.log 

可以看到定时同步任务的执行情况日志

(图片可点击放大查看)

可以看到定时同步成功

WindowsServer端的rsync同步日志

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景描述
  • cwRsync简单介绍
  • 1、在Windows Server 2012服务器上先安装部署cwRsyncServer
  • 2、Linux端部署rsync客户端并测试
  • 3、编写脚本,利用crontab实现定时同步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档