copy模組在ansible裡的角色就是把ansible執行機器上的檔案拷貝到遠端節點上。
與fetch模組相反的操作。
引數名是否必須
預設值選項
說明src
no用於定位ansible執行的機器上的檔案,需要絕對路徑。如果拷貝的是資料夾,那麼資料夾會整體拷貝,如果結尾是」/」,那麼只有資料夾內的東西被考過去。一切的感覺很像rsync
content
no用來替代src,用於將指定檔案的內容,拷貝到遠端檔案內
dest
yes用於定位遠端節點上的檔案,需要絕對路徑。如果src指向的是資料夾,這個引數也必須是指向資料夾
backup
nono
yes/no
備份遠端節點上的原始檔案,在拷貝之前。如果發生什麼意外,原始檔案還能使用。
directory_mode
no這個引數只能用於拷貝資料夾時候,這個設定後,資料夾內新建的檔案會被拷貝。而老舊的不會被拷貝
follow
nono
yes/no
當拷貝的資料夾內有link存在的時候,那麼拷貝過去的也會有link
force
noyes
yes/no
預設為yes,會覆蓋遠端的內容不一樣的檔案(可能檔名一樣)。如果是no,就不會拷貝檔案,如果遠端有這個檔案
group
no設定乙個群組擁有拷貝到遠端節點的檔案許可權
mode
no等同於chmod,引數可以為「u+rwx or u=rw,g=r,o=r」
owner
no設定乙個使用者擁有拷貝到遠端節點的檔案許可權
# 把/srv/myfiles/foo.conf檔案拷貝到遠端節點/etc/foo.conf,並且它的擁有者是foo,擁有它的群組是foo,許可權是0644
-copy: src=/srv/myfiles
/foo.conf dest=/etc
/foo.conf owner=foo group=foo mode=0644
# 跟上面的案例一樣,不一樣的只是許可權的寫法
-copy: src=/srv/myfiles
/foo.conf dest=/etc
/foo.conf owner=foo group=foo mode="u=rw,g=r,o=r"
# 另外乙個許可權的寫法
-copy: src=/srv/myfiles
/foo.conf dest=/etc
/foo.conf owner=foo group=foo mode="u+rw,g-wx,o-rwx"
# 拷貝/mine/ntp.conf到遠端節點/etc/ntp.conf,並且備份遠端節點的/etc/ntp.conf。
-copy: src=/mine/ntp.conf dest=/etc/ntp.conf owner=root group=root mode=644 backup=yes
引數名
引數說明
返回值返回值型別
樣例src
位於ansible執行機上的位置
將原檔案備份
changed and if backup=yes
string
/path/to/file.txt.2015-02-12@22:09~
uid在執行後,擁有者的id
success
int100
dest
遠端節點的目標目錄或檔案
success
string
/path/to/file.txt
checksum
拷貝檔案後的checksum值
success
string
6e642bb8dd5c2e027bf21dd923337cbb4214f827
md5sum
拷貝檔案後的md5 checksum值
when supported
string
2a5aeecc61dc98c4d780b14b330e3282
state
執行後的狀態
success
string
file
gid執行後擁有資料夾、檔案的群組id
success
int100
mode
執行後檔案的許可權
success
string
0644
owner
執行後檔案所有者的名字
執行後檔案所有群組的名字
執行後檔案大小
success
int1220
今天的這個模組有點多,看明白沒?下一次會有簡單的案例了。
Ansible系列 基礎篇 01
安裝方式主要有以下4種 yum install epel release yum install ansible pip install ansiblebrew install ansiblegit clone cd ansible sudo python setup.py install 安裝完成...
Ansible系列(6) Yum模組
之前的文章裡提到了這個yum模組,作為承諾,這次拿它當第一了。yum 全稱為 yellow dog updater,modified 是乙個在fedora和redhat以及centos中的shell前端軟體包管理器 既然是包管理器,平時我們如何使用它?拿centos為例 yum install gi...
DevOps系列Ansible自動部署 一 初識
通過上乙個專題gitlab cicd我們已經介紹了,在dixdevops流程中的自動觸發pipeline過程,下面這乙個專題系列,我們將重點介紹第二個環節,自動部署 進入這個專題系列,我們將重點闡述下圖中第二部分 首先說一下,技術選型,作為乙個程式猿,總是會對新的知識有著一種想要征服的慾望,所以我們...