rsync

語言: CN / TW / HK

目標端

目標端是台windows機器,配置文件在C:\Program Files (x86)\ICW下的rsyncd.conf

use chroot = false
strict modes = false
uid = 0
gid = 0
log file = rsyncd.log

[workspace]
path = /cygdrive/c/workspace
ignore errors
read only = false
transfer logging = yes
auth users = syncuser
secrets file = etc/rsyncd.password
hosts allow = *

其中path前面的cygdrive是固定的,path代表的是c:\workspace
這個目錄用[workspace] 來代表

發送端

發送端發送文件給目標端,通過同步rsync,使目標端的內容與發送端一致

rsync -avzc -R \
--password-file=/home/wayne/testansible/rsync.password  \
--delete \
--exclude 'ex/*' \
/home/wayne/testansible/aaa/./* \
[email protected]::workspace/xxxx

windows作為目標端接收文件,在windows上rsync會配置一個賬號和密碼用於驗證,在發送端發送的時候需要提供用户名和密碼
命令中[email protected]::workspace/xxxx表示使用上述的syncuser作為用户名,而密碼需要手動輸入或者記錄在一個password-file中
workspace則表示[workspace],這樣可以確定目標路徑是/cygdrive/c/workspace也就是c:\workspace
命令中/home/wayne/testansible/aaa/./*表示aaa目錄中的所有文件都同步到目標的c:\workspace\xxxx目錄下,xxxx是文件夾的名字
命令中/home/wayne/testansible/aaa/./*中的./是用來配合-R參數的,這個參數會將上層目錄也一起創建,比如/home/wayne/testansible/./aaa/*的話,目標那邊就是c:\workspace\xxxx\aaa\的結構,多了一個aaa目錄
命令中--delete會將src裏沒有,但dest裏有的那些文件,刪除,這個命令有些危險
命令中--exclude表示排除,--exclude 'ex/*'表示排除aaa/ex文件夾下的所有文件,不進行同步