Ansible中的同步模塊(Synchronize)

 

例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

用於定義排除單獨的文件夾和文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章