zoukankan      html  css  js  c++  java
  • ansbile-playbook 常用操作

    ansible-playbook 模板

    • 执行模板
    - name: use vars define variables
      hosts: 192.168.64.124
      tasks:
        - name: add line before Listen 80
          lineinfile:
            dest: /etc/hosts
            line: '192.168.200.8 test.com'
    
    
    • 套一个文件内部变量的模板
    [root@localhost mysql]# cat test_services.yaml 
    test_services:
     - httpd
     - mariadb
    
    
    [root@localhost mysql]# cat install_pkgs.yaml 
    - name: feile hosts
     hosts: 192.168.64.124
     vars_files:
       - test_services.yaml
     tasks:
       - name: start services group
         service:
           name: "{{ item }}"
           state: started
         loop: "{{ test_services }}"
    
    
    • yum 和启动 以及更新包
    [root@localhost mysql]# cat s7.yaml 
    ---
    - name: Install vim
      hosts: webservers
      vars: 
        packeages:
        - lrzsz
      tasks:
        - name: install yum packeage
          yum:
            name: "*"
            state: latest
            #update_cache: yes
        - name: Instal Packages
          yum:
            name: "{{ packeages }}"
            state: latest
            #update_cache: yes
        - name: httpd httpd start
          service:
            name: httpd
            state: restarted
            enabled: yes
    
    
    • 替换行内文字
    [root@localhost mysql]# cat s5.yaml 
    - name: use vars define variables
      hosts: 192.168.64.124
      tasks:
        - name: add line before Listen 80
          lineinfile:
            dest: /etc/hosts
            line: '192.168.200.8 test.com'
    [root@localhost mysql]# cat s4.yaml 
    - name: use vars define variables
      hosts: 192.168.64.124
      tasks:
        - name: add line before Listen 80
          lineinfile:
            dest: /etc/hosts
            regex: '^192.168.200'
            state: absent
    
    
    • 判断路径
    [root@localhost mysql]# cat if_test.yaml
    - hosts: webservers
      vars:
        testpath: /home
      tasks:
        - debug: 
            msg: "file exist"
          when:  testpath is exists # 路径存在
          #when: not testpath is exists # 路径不存在
    
    • 判断结果返回
    sucess或succeeded:通过任务执行结果返回的信息判断任务的执行状态,任务执行成功则返回true
    failure或failed:任务执行失败则返回true
    change或changed:任务执行状态为changed则返回true
    skip或skipped:任务被跳过则返回true
    
    [root@localhost mysql]# cat s8.yaml 
    - hosts: webservers
      gather_facts: no 
      vars: 
        doshell: true
      tasks:
        - shell: 'cat /tmp/text.txt'
          when: doshell
          register: result
          ignore_errors: true
        - debug:
            msg: "success"
          when: result is success
        - debug: 
            msg: "failed"
          when: result is failure
        - debug:
            msg: "changed"
          when: result is change
        - debug:
            msg: "skip"
          when: result is skip
    
    
  • 相关阅读:
    牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)
    牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)
    牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)
    牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)
    Tourist's Notes CodeForces
    Educational Codeforces Round 71 (Rated for Div. 2) E XOR Guessing (二进制分组,交互)
    Tunnel Warfare HDU
    蓝桥杯第三届总决赛
    HDU 1695(数论,筛选+素因子分解+容斥)
    lightoj 1248 Dice (III)(几何分布+期望)
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14072581.html
Copyright © 2011-2022 走看看