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同步,傳輸不過去,也無任何報錯,但改為非加域的機器就可同步了,有沒有大神解答一下,線上求!!!