tags的作用: 可以针对一个大型的playbook来给不同的play打标签,使得可以直接运行这个标签,从而执行这一部分的任务
编写playbook
#这个playbook的作用是安装tree和添加一个计划任务
[root@squid tags]# cat firsh_tags.yaml
---
- hosts: client
tasks:
- name: install soft tree
yum: name=tree state=present
tags:
- InstallTree
- name: add update time crontab
cron:
name: "At 21:30 every day updateTime"
user: root
minute: 30
hour: 21
job: "/usr/sbin/ntpdate cn.pool.ntp.org >> /var/log/cron 2>&1"
tags:
- AddTimeCrontab
执行playbook
[root@squid tags]# ansible-playbook firsh_tags.yaml
PLAY [client] *****************************************************************
TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
TASK [add update time crontab] ************************************************
changed: [10.241.0.10]
changed: [10.241.0.11]
PLAY RECAP ********************************************************************
10.241.0.10 : ok=2 changed=1 unreachable=0 failed=0
10.241.0.11 : ok=2 changed=1 unreachable=0 failed=0
执行tags
#只执行安装tree的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml --tags "InstallTree"
PLAY [client] *****************************************************************
TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
PLAY RECAP *********************************************************************
10.241.0.10 : ok=1 changed=0 unreachable=0 failed=0
10.241.0.11 : ok=1 changed=0 unreachable=0 failed=0
#只执行添加计划任务的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml --tags "AddTimeCrontab"
PLAY [client] *******************************************************************
TASK [add update time crontab] *************************************************
ok: [10.241.0.10]
ok: [10.241.0.11]
PLAY RECAP **********************************************************************
10.241.0.10 : ok=1 changed=0 unreachable=0 failed=0
10.241.0.11 : ok=1 changed=0 unreachable=0 failed=0
#一次执行多个tags 用,分割
[root@squid tags]# ansible-playbook firsh_tags.yaml --tags "InstallTree,AddTimeCrontab"
PLAY [client] *******************************************************************
TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
TASK [add update time crontab] **************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
PLAY RECAP **********************************************************************
10.241.0.10 : ok=2 changed=0 unreachable=0 failed=0
10.241.0.11 : ok=2 changed=0 unreachable=0 failed=0
#跳过某个tags
[root@squid tags]# ansible-playbook firsh_tags.yaml --skip-tags "AddTimeCrontab"
PLAY [client] *******************************************************************
TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
PLAY RECAP *********************************************************************
10.241.0.10 : ok=1 changed=0 unreachable=0 failed=0
10.241.0.11 : ok=1 changed=0 unreachable=0 failed=0