很早就有這個需求了,但是一直堅持要找 win32 native、open source 的 client 軟體,找到的不是不容易操作就是不穩定,最後還是回來用早就知道 cygwin port 套件。
Linux 端設定
Step 1. 啟動 rsync service,這部份各 distribution 的 UI 都作的不錯了,不再詳述
Step 2. 設定 /etc/rsyncd.conf
[notebook]
path=<儲存檔案的路徑>
read only=false
incoming chmod=a+rx,u+w
charset=utf8
uid=<linux 用戶帳號>
gid=<linux 用戶群組>
要注意的是紅字部份,windows 傳上來的檔案未指定的話 permission 都是 -w——-,如果是目錄而且沒有 x permission,底下的檔案同步時馬上會有 permission deny 的錯誤。
Windows 端設定
Step 1. 下載 cwRsync 套件先安裝好
Step 2. 把這個 batch 檔放在 windows 要同步的目錄下,以後跑 batch 就好不用打一長串指令
@echo off
set CWRSYNC_HOME=<cwRsync 安裝目錄>
set REMOTE=rsync://<rsync server ip>/notebook
“%CWRSYNC_HOME%\bin\rsync” -vurt %REMOTE% .
注意事項: cwRsync 套件附的 cygwin1.dll 程式庫無法正確處理中文檔名,只要碰到中文目錄,底下的檔案都會被忽略掉, 到這個 網站 下載支援 UTF-8 編碼的程式庫覆蓋掉就可以了。