1. windows上安裝cwRsync,ubuntu上安裝openssh和rsync
2. 建立home和.ssh目錄
home建哪裡自己定,我是直接在cwRsync目錄下面建了個home。需要注意一下的是.ssh目錄的建立,直接在資源管理器裡面建是不行的,需要在cmd下:mkdir ".ssh",用引號。
3. 將cwRsync目錄下cwrsync.cmd開頭的幾個set命令跑一遍
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET HOME=[剛才建立的home,例如C:\Program Files\cwRsync\home\admin]
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
4. 生成private/public key:
ssh-keygen -t rsa -N ''
生成的key會在.ssh下面,可以拷到其它目錄以方便使用,例如d:
5. 將key加到linux服務器的authorized_keys裡面:
如果服務器賬號下面本身沒有authorized_keys,那麼直接用下面這個命令即可:
rsync -av "/cygdrive/d/id_rsa.pub" [linux帳號]@[linux服務器地址]:.ssh/authorized_keys
如果已經有了,那麼還是上傳到一個新文件:
rsync -av "/cygdrive/d/id_rsa.pub" [linux帳號]@[linux服務器地址]:.ssh/new_key
然後再linux上把新的key加進去:
cat new_key >>authorized_keys
這裡跑rsync的時候會提示你輸入linux帳號的密碼,key上傳以後就不需要了。
6. 將cwrsync.cmd模板復制成一個新的文件
例如:mysync.cmd,修改裡面的home,然後再最後加入實際需要跑的rsync命令。例如我這個是從linux服務器sync到我windows機器:
rsync -avz [linux帳號]@[linux服務器地址]:[服務器路徑] [本地cygwin式路徑,例如:/cygdrive/d/....]
從win同步到linux則把兩個路徑換一下位置就行了。
7. 然後就可以直接跑mysync.cmd。