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
,如下圖操作

二 、Linux端客戶端部署
因之前有相關詳細的部署步驟,所就不再重復描述了。
三、 遇到的一些問題
-
同步的時候提示無目錄
Windows目錄需注意,看下是不是配錯了
-
提示無權限
查看Windows那個目錄是否授權
哦對了,還有一個問題:使用lsyncd方案的時候Linux無法與加域的Windows同步,傳輸不過去,也無任何報錯,但改為非加域的機器就可同步了,有沒有大神解答一下,在線求!!!