天天看點

【Ansible】 Ansible工具copy子產品的使用

Copy子產品簡介:

參數介紹       

名稱    必選  預設值  可選值  備注
backup  no  no  yes/no  在覆寫之前将原檔案備份,備份檔案包含時間資訊
content  no      當用content代替src參數的時候,可以把文檔的内容設定到特定的值
dest  yes      目标絕對路徑。如果src是一個目錄,dest也必須是一個目錄。如果dest是不存在的路徑,并且如果dest以/結尾或者src是目錄,則dest被建立。如果src和dest是檔案,如果dest的父目錄不存在,任務将失敗
follow  no  no  yes/no  是否遵循目的機器中的檔案系統連結
force  no  yes  yes/no  當内容不同于源時,将替換遠端檔案。設定為no,則隻有在目标不存在的情況下才會傳輸檔案
group  no      設定檔案/目錄的所屬組,将被饋送到chown
local_follow  no  yes  yes/no  是否遵循本地機器中的檔案系統連結
mode  no      設定檔案權限,模式實際上是八進制數字(如0644),少了前面的零可能會有意想不到的結果。從版本1.8開始,可以将模式指定為符号模式(例如u+rwx或u=rw,g=r,o=r)
owner  no      設定檔案/目錄的所屬使用者,将被饋送到chown
remote_src(2.0+)  no  no  yes/no  如果yes它會從目标機上搜尋src檔案
src  no      将本地路徑複制到遠端伺服器; 可以是絕對路徑或相對的。如果是一個目錄,它将被遞歸地複制。如果路徑以/結尾,則隻有該目錄下内容被複制到目的地,如果沒有使用/來結尾,則包含目錄在内的整個内容全部複制
unsafe_writes  no    yes/no  是否以不安全的方式進行,可能導緻資料損壞
validate  no  None    複制前是否檢驗需要複制目的地的路徑      

3 語句示例

# 将本地檔案test1 copy 到遠端主機
# src 本地目錄或檔案
# dest 遠端主機或者檔案 如果是目錄會自動建立,如果是檔案,上級路徑不存在會報錯
ansible webserver -m copy -a "src=test1.txt  dest=/home/python/zml/"


# 将本地檔案test1 copy 到遠端主機 ,并且檔案名一樣時,如果檔案内容發生變化,會先将遠端主機檔案備份
ansible webserver -m copy -a "src=test1.txt backup=yes dest=/home/python/zml/" 


# 将content内容寫入到遠端主機的檔案中
ansible webserver -m copy -a "content='123\n456\n789' dest=/home/python/zml/test2.txt"

# 設定檔案讀寫權限 mode參數
ansible webserver -m copy -a "content='123\n456\n789' mode=0755 dest=/home/python/zml/test2.txt"