1. ansible的一种模式Ad-Hoc

    ansible是一个能够在远程主机上批量执行命令或者脚本的一个工具

    Ad-Hoc是ansible的一种模式

  2. ansible的安装

    yum install -y ansible

  3. 命令格式

    ansible <host-pattern> [options]

  4. host-pattern主机组

    主机组的配置文件在/etc/ansible/hosts

    - 单个的的ip地址

    - 多个ip地址, 用逗号分割

    - 单个组

    - 多个组

      - 并集: web, db 或  "web: db"

      - 交集: "web: &db"

      - 差集: "web: !db"

    - 全部: all  

  5. options参数

-m modulename    # 使用的模块名
-a args                   # 模块的参数
-f fork                    # 并发的线程数, 默认5个
-C                          # 干跑    

  6. 管控主机, 连接被管控主机

    - 管控主机, 生成密钥

      ssh-keygen

    - 复制到被管控主机

      ssh-copy-id  username@ip

  7. ansible-doc 查看文档

    ansible-doc -s modulename    查看模块的参数

二. 关于命令和脚本的模块

  1. command模块

    在远程主机上执行命令, 不支持  <>|&$;  一些特殊符号

1. 参数
    chdir        切换目录
    creates    存在就不执行后面命令, 反之则执行
    removes    存在就执行后面命令, 反之则不执行
2. 实例
    ansible web -m command -a "pwd"        # 执行pwd命令
    ansible web -m command -a "chdir=/tmp pwd"        # chdir参数是切换目录
    ansible web -m command -a "creates=/tmp pwd"    # creates=/tmp 有这个文件就是false,后面的不执行,没有就是true,后面执行
    ansible web -m command -a "removes=/tmp pwd"    # 有就是true,没有就是false
command模块

相关文章: