例1:將主控方/tmp/test/ 目錄文件推送到指定節點的/tmp/test/目錄下。
[root@master ~]# ansible all -m synchronize -a ‘src=/tmp/test/ dest=/tmp/test/ compress=yes‘
例2:將主控方master上/data/stu01中的文件同步到client01主機的/data/soft的文件夾中。
[root@master tmp]# ansible client01 -m synchronize -a ‘src=/data/stu01 dest=/data/soft/ compress=yes delete=yes checksum=yes --exclude=.git‘
執行效果:
delete=yes 使兩邊的內容一樣(即以推送方爲主)
compress=yes 開啓壓縮,默認爲開啓
checksum=yes 檢測sum值,防止文件篡改,默認關閉
--exclude=.git 忽略同步.git 結尾的文件
由於模塊,默認都是推送push。因此,如果你在使用拉取pull 功能的時候,可以參考如下來實現mode=pull 更改推送模式爲拉取模式
參數解釋:
參數 |
必填 |
默認值 |
選項 |
說明 |
archive |
no |
yes |
yes no |
顯示rsync的存檔標誌所屬信息 |
checksum |
no |
no |
yes no |
校驗 |
compress |
no |
yes |
yes no |
在傳送過程中壓縮文件數據 |
dest |
yes |
目標路徑,路徑可以絕對或相對 |
||
delete |
no |
no |
yes no |
刪除srv中不存在的文件 |
copy_links |
no |
no |
yes no |
複製符號鏈接,是映射的文件複製 |
dest_port |
no |
22 |
yes no |
目標主機端口號(ansible_ssh_port優先於此值) |
group |
no |
存檔選項值 |
yes no |
保留文件的所屬組 |
owner |
no |
存檔選項值 |
yes no |
保留文件的所屬者(只有超級用戶可以操作) |
perms |
no |
存檔選項值 |
yes no |
保留文件的權限 |
rsync_opts |
no |
no |
通過此選項指定其他的rsync的選項 |
|
rsync_path |
no |
指定rsync命令到遠程主機上運行 |
||
rsync_timeout |
no |
0 |
指定rsync的timeout時間以秒爲單位 |
|
src |
yes |
源地址(路徑可以是絕對或相對的) |
||
times |
no |
存檔選項值 |
yes no |
保留文件的修改時間 |
exclude-from |
no |
no |
yes no |
用於定義排除多個文件夾和文件 |
exclude |
no |
no |
yes no |
用於定義排除單獨的文件夾和文件 |