详解ansible批量管理服务(4)

运行剧本

ansible-playbook -t create_user test_标签功能.yaml    --- 执行剧本中标签任务
ansible-playbook --skip-tags create_user test_标签功能.yaml --- 跳过指定标签任务,执行其他任务
ansible-playbook -t create_user,create_dir test_标签功能.yaml --- 执行多个标签
# -t=tags

1.6.7 剧本忽略采集功能

[

root@m01 ansible_playbook]#vim test_忽略采集.yaml
- hosts: 172.16.1.41
 gather_facts: no
 tasks:
 - name: 01:安装软件
  yum: name=rsync state=installed
  ignore_errors: yes
 - name: 02:创建用户
  user: name=rsync create_home=no shell=/sbin/nologin
  ignore_errors: yes
  tags: create_user
 - name: 03:创建目录
  file: path=/backup state=directory
  tags: create_dir 

当剧本采集大量主机信息时,可能会变得卡,慢,影响剧本后面的操作执行的效率。所以在这个时候,可以忽略采集功能,提高效率,在hosts下面添加 gather_facts: no 如果剧本中有判断功能,不能使用此参数,因为采集的信息会与判读信息对比

1.6.8 剧本信息触发功能

编写剧本

[root@m01 ansible_playbook]#vim test_触发功能.yaml
- hosts: 172.16.1.41
 tasks:
 - name: 01:传输配置文件
  copy: src=/etc/ansible/ansible_playbook/rsyncd.conf dest=/etc/
  notify: rsync_restart
 - name: 02:启动服务程序
  service: name=rsyncd state=started
 handlers:
 - name: rsync_restart
  service: name=rsyncd state=restarted

handlers:一般用于配置文件修改时,才会进行触发功能,对服务进行重启 notify:传输配置文件过来,notify通知rsync_restart这个触发器。然后handlers会进行重启服务说明: 整体任务执行完毕,才会执行触发功能

1.7 编写剧本练习题

要求:

(1)在172.16.1.41主机上操作: ①将定时任务服务停止 ②创建一个/etc/目录软连接 在/opt目录中生成 ③将本地/etc/hosts文件分发给41主机 保存到/tmp目录中(2)在172.16.1.31主机上操作: ①将防火墙服务开机自动运行 ②将主机上安装keepalived软件

实践:

编写剧本文件

[root@m01 ansible_playbook]#vim test.yaml 
- hosts: 172.16.1.41
 tasks:
 - service: name=crond state=stopped
 - file: src=/etc path=/opt/etc_link state=link
 - copy: src=/etc/hosts dest=/tmp
- hosts: 172.16.1.31
 tasks:
 - service: name=firewalld enabled=yes
 - yum: name=keepalived state=installed

剧本语法检查

# 语法检查剧本文件
[root@m01 ansible_playbook]#ansible-playbook --syntax-check test.yaml 
playbook: test.yaml

剧本模拟执行

[root@m01 ansible_playbook]#ansible-playbook -C test.yaml

PLAY [172.16.1.41] ***********************************************************************************

TASK [Gathering Facts] *******************************************************************************
ok: [172.16.1.41]

TASK [service] ***************************************************************************************
ok: [172.16.1.41]

TASK [file] ******************************************************************************************
ok: [172.16.1.41]

TASK [copy] ******************************************************************************************
ok: [172.16.1.41]

PLAY [172.16.1.31] ***********************************************************************************

TASK [Gathering Facts] *******************************************************************************
ok: [172.16.1.31]

TASK [service] ***************************************************************************************
ok: [172.16.1.31]

TASK [yum] *******************************************************************************************
ok: [172.16.1.31]

PLAY RECAP *******************************************************************************************
172.16.1.31    : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 
172.16.1.41    : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1594.html