1. 程式人生 > 其它 >使用 rsync 的一些記錄

使用 rsync 的一些記錄

使用 rsync 的一些記錄

最近有需要同步大體量資料的需求,而且都是很多很多個小檔案組成的。

本來直接無腦使用 scp 傳輸,但是很容易斷,斷了之後比對資料夾之間的不同又很耗時(而且也不快,所以看上了使用 rsync。

Windows 與 Linux 之間的 rsync 傳輸

Linux一般是自帶 rsync 的。如果沒有也很方便安裝

sudo apt-get rsync

Linux 的版本一般是 3.1.2(重要!之後因為這個踩了好久的坑

Windows 可以使用 cwRsync 來實現服務,可以在官網免費下載 client 版本。注意,鑑於 Linux 的版本是 3.1.2,這裡我們要下載 cwRsync 的 5.5.0 版本

,只有這個版本對應的 rsync 才是 3.1.2,可以和 Linux 一致。之前一致預設下載最新版本的 6.2.4 debug 了好久才知道是版本不匹配的問題。

cwRsync 下載下來的 zip 解壓後,可以先雙擊允許一下 cwrsync.cmd 檔案,它會在當前目錄下生成一個 home 資料夾。然後再進入 bin 資料夾,在當前目錄下開啟 powershell 或 cmd 就可以進行 rsync 命令的操作。

Windows 下rsync命令的一些區別

  • cmd 下不能直接使用 rsync,不然會識別不到命令。得使用下面形式的命令代替 rsync。
.\rsync.exe
  • powershell 下不能直接使用 rsync,不然會識別不到命令。得使用下面形式的命令代替 rsync。
.\rsync
  • 不能直接識別 ssh,得自己設定 ssh 的路徑(其實就在 bin 目錄下)。所以一般形式如下。
.\rsync -e '.\ssh -p 22'