Linux与Windows文件同步
Linux与Windows文件同步
本次采用的同步方式是rsync,Rsync是一款免费且强大的同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限、时间、软硬链接。第一次同步时会复制全部内容,下次只传输修改过的文件部分。传输数据过程中可以实行压缩及解压缩操作,减少带宽流量。支持scp、ssh及直接socket等方式连接,支持匿名传输。支持Linux,Window全平台。下面我将我的部署步骤与一些相关设置记录一下,网上也有很多差不多的步骤,主要是一些配置没有讲明白与清楚,所我特记录一下。
一 、 Windows服务端部署
-
下载安装包
因为Windows服务端最新版本的已经收费了,所以我们采用4.1版本,这里的安装包是由Bulut0907提供,点这里下载
下载完解压哦
-
安装
- 双击
cwRsyncServer_4.1.0_Installer.exe
进行安装 - 选择安装路径
- 设置账号密码(用户名与密码要记住,后面会有用。如果安装的电脑有登录密码,则必须为登录密码)
image-20210809150940174 Install
安装
- 双击
-
配置
-
找到你刚安装路径中的
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 # # 配置模块,这个模块名在同步的时候会用到 [test] # 配置同步的存储路径,这里的路径需要注意一下,比如我的路径其实是我的D盘下的file目录下的share文件夹。谨记谨记谨记,我就卡在这上面卡了好久。 path = /cygdrive/d/file/share # 忽略一些io错误 ignore errors # 用于设置是否允许上载。默认false,代表允许上载。 read only = no #允许连接的ip段或个别ip,默认任何人都可以连接 #hosts allow = * # 指定的用户,这里的用户在Windows中就是你刚刚安装的时候创建的用户名 auth users = rsync #指定用户名和密码文件 格式: 用户名:密码,这里的账号与密码就是你安装时设置的账号密码,这里的路径格式与上面一同,谨记 secrets file = /cygdrive/d/1/rsyncd.password #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody uid = 0 #设置进行数据传输时所使用的组名或GID号,默认使用nobody gid = 0 # 上面都ID值都设置成0,不然的话在传输的时候会有报错 @ERROR: invalid uid nobody
-
创建
rsyncd.password
文件,注意路径,例如我的路径是在D:\1
下,那么你就在这目录下创建image-20210809153250909 -
密码文件授权
C:\Program Files (x86)\ICW> .\bin\chmod.exe 600 /cygdrive/d/1/rsyncd.password
image-20210809153625069 -
文件存储文件夹授权
image-20210809153844920
-
-
启动服务,
win+r
输入services.msc
,如下图操作
![image-20210809154246550](https://image.98record.top/Typora/2021/08/1628494966-b40.png)
二 、Linux端客户端部署
因之前有相关详细的部署步骤,所就不再重复描述了。
三、 遇到的一些问题
-
同步的时候提示无目录
Windows目录需注意,看下是不是配错了
-
提示无权限
查看Windows那个目录是否授权
哦对了,还有一个问题:使用lsyncd方案的时候Linux无法与加域的Windows同步,传输不过去,也无任何报错,但改为非加域的机器就可同步了,有没有大神解答一下,在线求!!!