运行剧本
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
内容版权声明:除非注明,否则皆为本站原创文章。