常用參數:
src:源
content= 取代src 表示直接用此處執行的信息copy到遠程文件中
dest:目錄(必須要使用絕對路徑)
mode: 權限
owner: 屬主
group: 屬主
follow: 如果復制里是鏈接,我們就會把鏈接后的文件拷貝到目標
案例:拷貝文件
~~~
[admin@node1 ansible]$ ansible webserver -m copy -a "src='/etc/fstab' dest='/tmp' mode='600'"
~~~
查看
~~~
[admin@node1 ansible]$ ansible webserver -m shell -a "ls -l /tmp|grep fstab"
192.168.20.138 | SUCCESS | rc=0 >>
-rw-------. 1 admin admin 465 Mar 17 15:28 fstab
192.168.20.137 | SUCCESS | rc=0 >>
-rw-------. 1 admin admin 465 Mar 17 15:29 fstab
~~~
案例2: 拷貝目錄
~~~
[admin@node1 scripts]$ ansible webserver -m copy -a "src='/server/scripts' dest='/server' mode='644' owner='admin'" -b --ask-sudo-pass
[DEPRECATION WARNING]: The sudo command line option has been deprecated in favor of the "become" command line arguments. This feature will be removed in version 2.6. Deprecation warnings can be disabled by
setting deprecation_warnings=False in ansible.cfg.
SUDO password:
192.168.20.138 | SUCCESS => {
"changed": true,
"dest": "/server/",
"src": "/server/scripts"
}
192.168.20.137 | SUCCESS => {
"changed": true,
"dest": "/server/",
"src": "/server/scripts"
}
[admin@node1 scripts]$ ansible webserver -a "ls -l /server"
192.168.20.138 | SUCCESS | rc=0 >>
total 0
drwxr-xr-x. 2 admin root 46 Mar 17 15:48 scripts
192.168.20.137 | SUCCESS | rc=0 >>
total 0
drwxr-xr-x. 2 admin root 46 Mar 17 15:48 scripts
[admin@node1 scripts]$ ansible webserver -a "ls -l /server/"
192.168.20.138 | SUCCESS | rc=0 >>
total 0
drwxr-xr-x. 2 admin root 46 Mar 17 15:48 scripts
192.168.20.137 | SUCCESS | rc=0 >>
total 0
drwxr-xr-x. 2 admin root 46 Mar 17 15:48 scripts
[admin@node1 scripts]$ ansible webserver -a "ls -l /server/scripts"
192.168.20.138 | SUCCESS | rc=0 >>
total 12
-rw-r--r--. 1 admin root 465 Mar 17 15:48 fstab
-rw-r--r--. 1 admin root 23 Mar 17 15:48 issue
-rw-r--r--. 1 admin root 1037 Mar 17 15:48 passwd
192.168.20.137 | SUCCESS | rc=0 >>
total 12
-rw-r--r--. 1 admin root 465 Mar 17 15:48 fstab
-rw-r--r--. 1 admin root 23 Mar 17 15:48 issue
-rw-r--r--. 1 admin root 1037 Mar 17 15:48 passwd
~~~
~~~
[admin@node1 ~]$ ansible webserver -m copy -a 'src="/app/pet/" dest="/app/web" owner=admin group=root' -b -K
SUDO password:
192.168.52.132 | SUCCESS => {
"changed": true,
"dest": "/app/web/",
"src": "/app/pet/"
}
192.168.52.130 | SUCCESS => {
"changed": true,
"dest": "/app/web/",
"src": "/app/pet/"
}
192.168.52.131 | SUCCESS => {
"changed": true,
"dest": "/app/web/",
"src": "/app/pet/"
}
[admin@node1 ~]$ ansible webserver -m copy -a 'src="/app/pet/" dest="/app/web" owner=admin group=root' -b -K
SUDO password:
192.168.52.130 | SUCCESS => {
"changed": false,
"dest": "/app/web/",
"src": "/app/pet/"
}
192.168.52.132 | SUCCESS => {
"changed": false,
"dest": "/app/web/",
"src": "/app/pet/"
}
192.168.52.131 | SUCCESS => {
"changed": false,
"dest": "/app/web/",
"src": "/app/pet/"
}
~~~
- 第一章:Ansible基礎入門
- 第二章:Ansible系列手冊
- 第一節:Ansible系列之主機清單
- 第二節:Ansible系列之變量
- 第三節:Ansible系列之YAML
- 第四節:Ansible系列之條件判斷
- 第五節:Ansible系列之循環
- 第六節: Ansible系列之tags
- 第七節:Ansible系列之Jinja2
- 第三章:Ansible系列之模塊
- 第一節:user模塊
- 第二節:group模塊
- 第三節:cron模塊
- 第四節:copy模塊
- 第五節: file模塊
- 第六節:yum模塊
- 第七節:service模塊
- 第八節:shell模塊
- 第九節:script模塊
- 第十節:setup模塊
- 第十一節:filesystem和mount模塊
- 第十二節:synchronize模塊
- 第十三節: get_url模塊
- 第十四節: package模塊
- 第十五節:stat模塊
- 第十六節:unarchive模塊
- 第十七節: commang模塊
- 第四章:Ansible-playbook介紹
- 第五章:Ansible系統環境
- 第一節:Ansible Role 系統環境之epel設置