利用 rsync 協定同步 Windows 和 Linux 系統上的檔案

很早就有這個需求了,但是一直堅持要找 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 編碼的程式庫覆蓋掉就可以了。

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)

Loading...