本文作者:阿豪

Windows和Linux之间使用Rsync进行数据同步

阿豪 4个月前 ( 03-01 ) 411
Windows和Linux之间使用Rsync进行数据同步摘要: 需求需要在windows和Linux系统间进行数据同步,这个时候我们可以部署rsync进行数据同步实验环境Windows系统:172.18.255.156 (Windows 200...

需求

需要在windows和Linux系统间进行数据同步,这个时候我们可以部署rsync进行数据同步

实验环境

Windows系统:172.18.255.156 (Windows 2008)服务端

Linux系统:172.18.255.155 (Centos7.9)客户端

环境部署

一、服务端安装

https://rsync.samba.org/  Rsync官网

cwRsyncServer_4.0.5_Installer.zip

安装cwRsyncServer_4.0.5_Installer

选择Next ,进入下一步

image.png

选择I Agree(同意)

image.png

填写安装路径(默认即可,如需修改则修改)

image.png

设置用户名和密码(可使用默认,并设置密码。也可以自定义),选择Install (安装)

image.png

Close(关闭),安装完成

image.png

开始 >> 所有程序 >> 管理工具 >> 服务

image.png

找到RsyncSever选项,双击打开

启动类型:自动

点 启动 

image.png

二、创建同步目录

创建一个存放文件目录,站长这边创建C:\rsync-synchronous(也可以是自己已经有创建的目录,并设置目录添加安装rsync时,设置的帐号添加进来,并设置权限为完全控制)

右击rsync-synchronous目录,右键打开属性 >> 安全,把安装rsync时,设置的帐号添加进来,并设置权限为完全控制

image.png

三、修改Rsync配置文件

打开C:\Program Files (x86)\ICW\rsyncd.conf 

修改内容大概如下:

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
#名称可自定义,如tongbu
[tongbu]
path = /cygdrive/c/rsync-synchronous
read only = false
transfer logging = yes
auth users = SvcCWRSYNC
secrets file = etc/rsyncd.secrets
UID = 0
GID = 0

image.png

如不设置UID跟GID会报错@ERROR: invalid uid nobody

注意path路径,path = /cygdrive/是固定的,不要改,后面连接的c/rsync-synchronous,则是我们刚才所建的目录路径,站长是建在C盘的,目录为rsync-synchronous。(其他路径则填写其他路径

其它参数详解:

read only = true #客户端只读

list = no#不允许列出文件

hosts allow=192.168.0.141 #允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写*即可

auth users =SvcCWRSYNC #允许连接的用户名(前面安装系统创建的那个用户名)

secrets file = etc/rsyncd.secrets #存放用户名密码的认证文件路径

创建rsync同步帐号密码文件

进入:C:\Program Files (x86)\ICW\etc,创建文件:rsyncd.secrets,文件里输入SvcCWRSYNC:前面安装的时候设置的密码,SvcCWRSYNC是同步帐号

image.png

至此cwRsyncServer服务端安装设置完成

四、Rsync客户端配置

yum install rsync -y

五、测试Rsync客户端是否与cwRsyncServer服务端通信成功(cwRsyncServer服务端防火墙需要开启tcp 873端口)

yum install telnet  -y

telnet 172.18.255.156 873

image.png

测试数据同步

# mkdir -p  /root/rsync

# rsync -vzrtopg --port=873 --progress --delete SvcCWRSYNC@172.18.255.156::tongbu  /root/rsync

image.png

这里会提示输入密码设置的密码

注意:此处的密码为cwRsyncServer服务端C:\Program Files (x86)\ICW\etc\rsyncd.secrets文件配置的密码

image.png

每次都要输入密码挺麻烦的无法做成任务计划让他自己同步 这个时候我们可以指定密码文件

如把密码文件放在/root/passwd.txt  (在文件里面填写密码即可)

chmod 600 /root/passwd.txt #设置文件权限,只设置文件所有者具有读取、写入权限即可

# rsync -vzrtopg --port=873 --progress --delete SvcCWRSYNC@172.18.255.156::tongbu  /root/rsync --password-file=/root/passwd.txt

设置定时同步

# vi /root/rsync.sh

#!/bin/sh
rsync -vzrtopg --port=873 --progress --delete SvcCWRSYNC@172.18.255.156::tongbu  /root/rsync --password-file=/root/passwd.txt

:wq! #保存,退出

chmod +x /root/rsync.sh #添加脚本直接权限

crontab -e 按i进入编辑

0 */1 * * * sh  /root/rsync.sh > /root/rsync.log 2>&1

:wq! #保存,退出

设置完成之后,每隔1个小时,Rsync客户端会自动同步cwRsyncServer服务端C:\rsync-synchronous目录数据到自己的/root/rsync目录中

至此,CentOS客户端与Windows服务端实现数据定时同步设置完成


文章版权及转载声明

作者:阿豪本文地址:https://www.ahaoyw.com/article/553.html发布于 4个月前 ( 03-01 )
文章转载或复制请以超链接形式并注明出处阿豪运维笔记

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏