【Ansible學(xué)習(xí)】- 常用文件操作模塊之copy模塊

簡介

  • copy模塊用于將本地或遠(yuǎn)程機(jī)器上的文件拷貝到遠(yuǎn)程主機(jī)上馅而。

模塊參數(shù)

名稱 必選 默認(rèn)值 可選值 備注
backup no no yes/no 在覆蓋之前將原文件備份趋厉,備份文件包含時(shí)間信息
content no 當(dāng)用content代替src參數(shù)的時(shí)候,可以把文檔的內(nèi)容設(shè)置到特定的值
dest yes 目標(biāo)絕對(duì)路徑各薇。如果src是一個(gè)目錄,dest也必須是一個(gè)目錄。如果dest是不存在的路徑隧枫,并且如果dest以/結(jié)尾或者src是目錄,則dest被創(chuàng)建谓苟。如果srcdest是文件官脓,如果dest的父目錄不存在,任務(wù)將失敗
follow no no yes/no 是否遵循目的機(jī)器中的文件系統(tǒng)鏈接
force no yes yes/no 當(dāng)內(nèi)容不同于源時(shí)涝焙,將替換遠(yuǎn)程文件卑笨。設(shè)置為no,則只有在目標(biāo)不存在的情況下才會(huì)傳輸文件
group no 設(shè)置文件/目錄的所屬組仑撞,將被饋送到chown
local_follow no yes yes/no 是否遵循本地機(jī)器中的文件系統(tǒng)鏈接
mode no 設(shè)置文件權(quán)限赤兴,模式實(shí)際上是八進(jìn)制數(shù)字(如0644),少了前面的零可能會(huì)有意想不到的結(jié)果隧哮。從版本1.8開始桶良,可以將模式指定為符號(hào)模式(例如u+rwx或u=rw,g=r,o=r)
owner no 設(shè)置文件/目錄的所屬用戶,將被饋送到chown
remote_src(2.0+) no no yes/no 如果yes它會(huì)從目標(biāo)機(jī)上搜索src文件
src no 將本地路徑復(fù)制到遠(yuǎn)程服務(wù)器; 可以是絕對(duì)路徑或相對(duì)的沮翔。如果是一個(gè)目錄陨帆,它將被遞歸地復(fù)制。如果路徑以/結(jié)尾,則只有該目錄下內(nèi)容被復(fù)制到目的地疲牵,如果沒有使用/來結(jié)尾承二,則包含目錄在內(nèi)的整個(gè)內(nèi)容全部復(fù)制
unsafe_writes no yes/no 是否以不安全的方式進(jìn)行,可能導(dǎo)致數(shù)據(jù)損壞
validate no None 復(fù)制前是否檢驗(yàn)需要復(fù)制目的地的路徑

示例

  • 拷貝前備份
[root@centos7 ~]# ansible test -m copy -a "src=test.sh backup=yes dest=/root"
172.20.21.121 | SUCCESS => {
    "backup_file": "/root/test.sh.4315.2018-01-12@13:35:35~", 
    "changed": true, 
    "checksum": "e989084b3f4610a41811c5ea280b14f7c5e855f5", 
    "dest": "/root/test.sh", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "7c211ce4c7941a5bb064e77d69e3d9ff", 
    "mode": "0755", 
    "owner": "root", 
    "secontext": "unconfined_u:object_r:admin_home_t:s0", 
    "size": 23, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515735334.86-21848883747071/source", 
    "state": "file", 
    "uid": 0
}
  • src和dest都是文件纲爸,若dest的文件的父目錄不存在將報(bào)錯(cuò)
[root@centos7 ~]# ansible test -m copy -a "src=test.sh dest=/root/liuhao/test"
172.20.21.121 | FAILED! => {
    "changed": false, 
    "checksum": "e989084b3f4610a41811c5ea280b14f7c5e855f5", 
    "msg": "Destination directory /root/liuhao does not exist"
}
[root@centos7 ~]# ansible test -m copy -a "src=test.sh dest=/root/liuhao/"
172.20.21.121 | SUCCESS => {
    "changed": true, 
    "checksum": "e989084b3f4610a41811c5ea280b14f7c5e855f5", 
    "dest": "/root/liuhao/test.sh", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "7c211ce4c7941a5bb064e77d69e3d9ff", 
    "mode": "0644", 
    "owner": "root", 
    "secontext": "system_u:object_r:admin_home_t:s0", 
    "size": 23, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515736119.26-238832413210409/source", 
    "state": "file", 
    "uid": 0
}
  • 設(shè)置文件權(quán)限
[root@centos7 ~]# ansible test -m copy -a "src=test.sh dest=/root dest=/tmp owner=liuhao group=liuhao mode=0644"
172.20.21.121 | SUCCESS => {
    "changed": true, 
    "checksum": "e989084b3f4610a41811c5ea280b14f7c5e855f5", 
    "dest": "/tmp/test.sh", 
    "gid": 1000, 
    "group": "liuhao", 
    "md5sum": "7c211ce4c7941a5bb064e77d69e3d9ff", 
    "mode": "0644", 
    "owner": "liuhao", 
    "secontext": "unconfined_u:object_r:admin_home_t:s0", 
    "size": 23, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515735466.22-33633697447932/source", 
    "state": "file", 
    "uid": 1000
}
目標(biāo)機(jī)器上的結(jié)果
目標(biāo)機(jī)器上的結(jié)果
  • content參數(shù)
[root@centos7 ~]# ansible test -m copy -a "content='liuhao \n test\n' dest=/root/liuhaotest"
172.20.21.121 | SUCCESS => {
    "changed": true, 
    "checksum": "bd3aa5bf19112271f30c07be425f9a5c08463568", 
    "dest": "/root/liuhaotest", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "7585dc638fd8e219c453c3b1330c7e14", 
    "mode": "0644", 
    "owner": "root", 
    "secontext": "system_u:object_r:admin_home_t:s0", 
    "size": 14, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515735713.37-60072089981042/source", 
    "state": "file", 
    "uid": 0
}
content參數(shù)
content參數(shù)
  • force參數(shù)
[root@centos7 ~]# ansible test -m copy -a "src=test.sh dest=/root/liuhaotest force=no"
172.20.21.121 | SUCCESS => {
    "changed": false, 
    "dest": "/root/liuhaotest", 
    "src": "/root/test.sh"
}
  • src是目錄時(shí)
    源目錄以/結(jié)尾亥鸠,只拷貝了目錄下的內(nèi)容:
[root@centos7 test]# ansible test -m copy -a "src=/root/test/ dest=/tmp/"
172.20.21.121 | SUCCESS => {
    "changed": true, 
    "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", 
    "dest": "/tmp/1", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "d41d8cd98f00b204e9800998ecf8427e", 
    "mode": "0644", 
    "owner": "root", 
    "secontext": "unconfined_u:object_r:admin_home_t:s0", 
    "size": 0, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515736521.16-258766767883601/source", 
    "state": "file", 
    "uid": 0
}
只拷貝了目錄下的內(nèi)容
只拷貝了目錄下的內(nèi)容

源目錄未以/結(jié)尾,直接將src目錄本身拷貝到目的地:

[root@centos7 test]# ansible test -m copy -a "src=/root/test dest=/tmp/"
172.20.21.121 | SUCCESS => {
    "changed": true, 
    "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", 
    "dest": "/tmp/test/1", 
    "gid": 0, 
    "group": "root", 
    "md5sum": "d41d8cd98f00b204e9800998ecf8427e", 
    "mode": "0644", 
    "owner": "root", 
    "secontext": "unconfined_u:object_r:admin_home_t:s0", 
    "size": 0, 
    "src": "/root/.ansible/tmp/ansible-tmp-1515736532.2-82893359525841/source", 
    "state": "file", 
    "uid": 0
}
直接將src目錄本身拷貝到目的地
直接將src目錄本身拷貝到目的地

如果覺得有用缩焦,歡迎關(guān)注我的微信读虏,有問題可以直接交流:

你的關(guān)注是對(duì)我最大的鼓勵(lì)!
你的關(guān)注是對(duì)我最大的鼓勵(lì)袁滥!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盖桥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子题翻,更是在濱河造成了極大的恐慌揩徊,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嵌赠,死亡現(xiàn)場離奇詭異塑荒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姜挺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門齿税,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炊豪,你說我怎么就攤上這事凌箕。” “怎么了词渤?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵牵舱,是天一觀的道長。 經(jīng)常有香客問我缺虐,道長芜壁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任高氮,我火速辦了婚禮慧妄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剪芍。我一直安慰自己腰涧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布紊浩。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坊谁。 梳的紋絲不亂的頭發(fā)上费彼,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音口芍,去河邊找鬼箍铲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鬓椭,可吹牛的內(nèi)容都是我干的颠猴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼小染,長吁一口氣:“原來是場噩夢啊……” “哼翘瓮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起裤翩,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤资盅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踊赠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呵扛,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年筐带,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了今穿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伦籍,死狀恐怖蓝晒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸽斟,我是刑警寧澤拔创,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站富蓄,受9級(jí)特大地震影響剩燥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜立倍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一灭红、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧口注,春花似錦变擒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽策添。三九已至,卻和暖如春毫缆,著一層夾襖步出監(jiān)牢的瞬間唯竹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國打工苦丁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浸颓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓旺拉,卻偏偏與公主長得像产上,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蛾狗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容