• ansible自动化运维04


    ansible playbook

       ansible-playbook命令格式:

        ansible-playbook  [option]  filename(剧本名字)

         ansible-playbook 命令的常用选项:

          -C: 模拟运行

          --list-hosts: 列出剧本主机清单     

          --list-tags : 列出剧本标记

          --list-tasks: 列出剧本任务

          --syntax-check: 检测语法

      安装并且启动apache服务的剧本简单举例

              

    [root@host1 ansible]# mkdir ansible_playbook
    [root@host1 ansible]# ll
    total 24
    -rw-r--r-- 1 root root 19980 Sep 14 04:00 ansible.cfg
    drwxr-xr-x 2 root root 6 Oct 24 08:28 ansible_playbook
    -rw-r--r-- 1 root root 40 Oct 9 15:04 hosts
    drwxr-xr-x 2 root root 6 Sep 14 04:00 roles

    [root@host1 ansible_playbook]# pwd
    /etc/ansible/ansible_playbook
    [root@host1 ansible_playbook]# ll
    total 4
    -rw-r--r-- 1 root root 210 Oct 24 08:48 apache.yaml

             

    [root@host1 ansible_playbook]# more apache.yaml 
    - hosts: test1
    tasks:

    - name: Install Httpd
    yum name=httpd state=installed

    - name: Configure Httpd.conf

    - name: Start Httpd Service
    service name=httpd state=started enabled=yes

          检测语法举例:        

            [root@host1 ansible_playbook]# ansible-playbook --syntax-check apache.yaml

            playbook: apache.yaml

          查看剧本主机清单:

            

             

    [root@host1 ansible_playbook]# ansible-playbook --list-hosts apache.yaml

    playbook: apache.yaml

    play #1 (test1): test1 TAGS: []
    pattern: [u'test1']
    hosts (2):
    192.168.132.163
    192.168.132.162

           查看剧本任务:

            

                                           

    [root@host1 ansible_playbook]# ansible-playbook --list-tasks apache.yaml

    playbook: apache.yaml

    play #1 (test1): test1 TAGS: []
    tasks:
    Install Httpd TAGS: []
    Start Httpd Service TAGS: []

           模拟运行剧本:

              

         

    [root@host1 ansible_playbook]# ansible-playbook -C apache.yaml

    PLAY [test1] ************************************************************************************************************************

    TASK [Gathering Facts] **************************************************************************************************************
    ok: [192.168.132.163]
    ok: [192.168.132.162]

    TASK [Install Httpd] ****************************************************************************************************************
    changed: [192.168.132.163]
    changed: [192.168.132.162]

    TASK [Start Httpd Service] **********************************************************************************************************
    changed: [192.168.132.162]
    changed: [192.168.132.163]

    PLAY RECAP **************************************************************************************************************************
    192.168.132.162 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
    192.168.132.163 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

     出现如上情况说明剧本模拟运行正常,可以去直接执行剧本了!!

        下面是批量修改httpd的配置文件后重启httpd服务的ansible 剧本(文件):

         注意: playbook核心元素常用的是hosts,tasks,handlers,其他两个有兴趣可以自己去研究!

       

          

             

         

  • 相关阅读:
    Apache Solr 远程命令+XXE执行漏洞(CVE-2017-12629)
    Apache Shiro RememberMe 1.2.4 反序列化漏洞
    ActiveMQ任意文件写入漏洞(CVE-2016-3088)
    ssrf对redis未授权访问写webshell
    fastjson<1.2.47 RCE 漏洞复现
    Redis基于主从复制的RCE(redis4.x 5.x)复现
    本机浏览器无法访问linux的tomcat
    测试覆盖率工具EclEmma安装与使用
    eclemma怎么安装 eclemma的安装与简单使用图文教程(附下载)
    .bat脚本基本命令语法
  • 原文地址:https://www.cnblogs.com/renyongbin/p/11727262.html
Copyright © 2020-2023  润新知