copy
copy 模塊是將 ansible 管理主機上的文件拷貝上遠程主機中,與 fetch 相反,如果目標路徑不存在,則自動創建,如果 src 的目錄帶“/” 則
復制該目錄下的所有東西,如果 src 的目錄不帶“/”則連同該目錄一起復制到目標路徑;
常用模塊
src參數 :用於指定需要copy的文件或目錄。 [root@controller home]# ansible test2 -m copy -a "src=/home/kkk dest=/home/" 172.20.10.8 | SUCCESS => { "changed": true, dest參數 :用於指定文件將被拷貝到遠程主機的哪個目錄中,dest為必須參數,如果有同名文件直接覆蓋目標同名文件 content參數 :當不使用src指定拷貝的文件時,可以使用content直接往目標文件內指定文件內容,src與content兩個參數必有其一,否則會報錯。如果目標文件有內容,則直接覆蓋, [root@localhost home]# cat kkk 234 fkdsh [root@controller home]# ansible test -m copy -a 'content="ni\nda\nye\n" dest=/home/kkk' [root@localhost home]# cat kkk ni da yee force參數 : 當遠程主機的目標路徑中已經存在同名文件,並且與ansible主機中的文件內容不同時,是否強制覆蓋,可選值有yes和no,默認值為yes,表示覆蓋,如果設置為no,則不會執行覆蓋拷貝操作,遠程主機中的文件保持不變。 [root@controller home]# ansible test2 -m copy -a "src=/home/ dest=/home/ force=no" backup參數 : 當遠程主機的目標路徑中已經存在同名文件,並且與ansible主機中的文件內容不同時,是否對遠程主機的文件進行備份,可選值有yes和no,當設置為yes時,會先備份遠程主機中的文件,然后再將ansible主機中的文件拷貝到遠程主機。以當前時間為后綴,如果為no時,直接覆蓋目標同名文件,默認為NO [root@controller home]# ansible test -m copy -a "backup=yes src=/home/kkk dest=/home/" owner參數 : 指定文件拷貝到遠程主機后的屬主,但是遠程主機上必須有對應的用戶,否則會報錯。 group參數 : 指定文件拷貝到遠程主機后的屬組,但是遠程主機上必須有對應的組,否則會報錯。 mode參數 : 指定文件拷貝到遠程主機后的權限,如果你想將權限設置為”rw-r--r--“,則可以使用mode=0644表示,如果你想要在user對應的權限位上添加執行權限,則可以使用mode=u+x表示。 [root@controller home]# ansible test -m copy -a "src=/home/kkk dest=/home/ mode=644"