• 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

       

  • 相关阅读:
    英文句子相似性判断
    机器学习(一)特征工程基本流程
    经典卷积神经网络(LeNet、AlexNet、VGG、GoogleNet、ResNet)的实现(MXNet版本)
    Google免费GPU使用教程(亲测可用)
    XGBoost、LightGBM的详细对比介绍
    终身机器学习:一种可持续学习的范式
    机器学习中安全与隐私问题(对抗性攻击)
    频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比(Python实现)
    Webpack教程,更新中
    @babel/plugin-transform-runtime
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/15788640.html
Copyright © 2020-2023  润新知