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

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

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

场景描述

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

640.png

尝试:前期使用过在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、以管理员身份运行进行安装

640.jpg

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

640.jpg


640.jpg

640.jpg

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

640.jpg640.jpg


并将服务启动设置为自动

640.jpg

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


修改成如下


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目录当作备份目录(目的端)


640.jpg



  • Tips:


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


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


cwrsync:cwrsync@2021


写入授权用户cwrsync密码


640.jpg


5、接下来创建Linux_backup目录


640.png


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

放通入方向的873端口

640.jpg

640.jpg


7、 然后重启RsyncServer服务

640.jpg

640.jpg


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


若没有安装rsync先yum安装


yum install rsync

640.jpg

cd /home/
dd if=/dev/zero of=test.file count=1 bs=100M


创建测试文件

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


rsync --progress -avz --delete /home/* cwrsync@192.168.31.12::backup

640.jpg


640.jpg

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


  • 1、/opt/cwrsync.sh


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

640.jpg

  • 2、 编辑定制任务
crontab -e
编辑定制任务
*/5 * * * * /opt/cwrsync.sh
例如每5钟同步一次
crontab -l
  • 3 重启crond服务


systemctl restart crond


640.jpg

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


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


640.jpg

可以看到定时同步成功


WindowsServer端的rsync同步日志


640.jpg


相关文章
|
14小时前
|
监控 Linux BI
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
【linux服务器系统盘爆满】/www/server/total/logs/目录内容过多导致服务器系统盘爆满,/www/server/total/logs/ 里是什么内容?是否可以删除?
5 1
|
4天前
|
关系型数据库 MySQL Linux
Linux下怎么快速部署MySQL服务,并使用
Linux下怎么快速部署MySQL服务,并使用
20 5
|
7天前
|
存储 监控 Linux
性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
【6月更文挑战11天】标题性能监控之 Java Metrics 度量包性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
22 2
|
8天前
|
Linux 网络安全
|
1天前
|
应用服务中间件 Linux 数据安全/隐私保护
Linux+docker部署项目
Linux+docker部署项目
8 0
|
4天前
|
数据可视化 网络协议 Linux
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
10 0
|
5天前
|
Java Linux
杨校老师课堂之CentOS7部署开发环境Jdk1.8【Linux】
杨校老师课堂之CentOS7部署开发环境Jdk1.8【Linux】
11 0
|
7天前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
|
弹性计算 运维 监控
ECS使用与Linux环境搭建
本文主要记录ECS使用中,安全组配置,Linux下生成环境搭建等。
ECS使用与Linux环境搭建
|
4天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考