zoukankan      html  css  js  c++  java
  • ansible基础模块


    1 service|systemd(centos7推荐用systemd模块)
       name:name.service(类似mysqld,nginx等)
       state:started|stoped|reloaded|restarted(动作+ed)
       enabled: yes (代表加入开机启动)
       daemon_reload:systemd(systemd独有)
    示例
       - name: start nginx
         service:
           name: nginx
           state: started
    2 yum:(安装软件)
       name: service_name|"{{item}}"(安装的包名称|多个包循环)
       state: present(如果已存在,则不会更新)
       loop: (这里是循环才加)
        - name1
        - name2
    示例
    - name: install | dependency package
      yum:
       name: "{{ item }}"
       state: present
       loop:
        - gcc
        - make
        - openssl
        - zlib

    3 wait_for:(检测服务健康)
       port:service_port(检测的端口)
       delay:time(在做下一个动作之前的延时时间,直到端口存在则返回)
    示例
      - name: check | check nginx status
        wait_for:
          port: 8080
          delay: 3

    4 selinux相关
       state=disabled(关闭selinux)
    示例
       -name: selinxu close
        selinux:
          state=disabled
    5 replace(配置文件进行替换调整-会全部进行替换)
       path:数据文件路径
       regexp:正则表达式匹配
        replace:替换值
    示例
    - name: configure | setup worker_connections 100
      replace:
        path: "/etc/nginx/nginx.conf"
        regexp: '^(\s*worker_connections).+$'
        replace: '\1 {{ nginx_max_connections }};
    6 lineinfile:(和replace类似,但是不同点在于确保存在这个行2是只会更改匹配的最后一行)
      示例
      - name: configure | setup worker_processes 4
        lineinfile:
          path: "/etc/nginx/nginx.conf"
          regexp: '^\s*worker_processes\s'
          line: "worker_processes {{ nginx_workers }};"
    7 unarchive:(远程推送并解压)
       remote_src: yes(远程推送)
       src: 要推送的软件包
       dest: 解压到目标位置,需要是一个目录
       creates:指定一个文件名,当该文件存在时,则解压指令不执行,目的是防止覆盖
       owner: 默认数组
       group:
    示例
    - name: Unarchive Python bin files.
      unarchive:
        remote_src: yes
        src: "{{ python_file_path }}"
       dest: /usr/local
       creates:{{ mysql_basedir }}/bin/mysql
    8 file:(文件和文件夹模块)
      path: file|dir
      recurse: true(如果是目录需要递归进行)
      state: touch/directory/absent(删除)
    示例
    - name: "file模块在目标服务器上创建文件"
      file:
       path: /opt/filemodule/filemodulesetup.txt
       state: touch
       owner: root
       group: root
       mode: 755
    - name: "file模块在目标服务器上创建要删除的文件"
      file:
        path: /opt/filemodule/filemoduledelete.txt
        state: touch
        owner: root
        group: root
        mode: 755
    - name: "file模块在目标服务器上删除文件"
      file:
        path: "/opt/filemodule/filemoduledelete.txt"
        state: absent
    11 shell:(执行命令)
        shell: 具体命令多个记得用;间隔开来

    12 template模块-配置文件模板推送

       src:template_file_name
       dest:目录文件(绝对路径)
       - name: copy configfile to nodes
         template:
            src: test.j2
           dest: /tmp/test.conf

    13 debug模块-打印输出

    var 将某个任务执行的输出作为变量传递给debug模块,debug会直接将其打印输出
    msg 调试输出的消息
    - name: Display all variables/facts known for a host
    debug:
    var: hostvars[inventory_hostname]
    verbosity: 4
    - debug:
    msg: "System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}"
    when: ansible_default_ipv4.gateway is defined

       

  • 相关阅读:
    Android官方架构组件介绍之ViewModel
    Android官方架构组件介绍之LiveData
    Android官方架构组件介绍之LifeCycle
    Android N 通知概览及example
    Project和Task
    hello gradle
    写出gradle风格的groovy代码
    Groovy中的面向对象
    tcp_tw_recycle和tcp_timestamps的一些知识(转)
    Xtrabackup 热备
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/15788640.html
Copyright © 2011-2022 走看看