Ansible Ad-hoc简介

帮助查询

ansible-doc -l 查看所有的模块
ansible-doc -s module 查看某个模块的参数
ansible-doc module 查看该模块更详细的信息

命令说明

ansible 选项 -m 模块 -a 模块的参数
ansible 常用选项说明:
-i:指定主机清单文件,里面的主机名可以不属于系统定义的主机清单
-k:密码验证
-m:指定模块user shell
-a:指定模块的参数
—list-hosts:列出匹配的主机
-f:指定并发数,默认是5 ansible.cfg中已经定义

命令执行模块

command模块:

该模块通过-a 跟上要执行的命令可以直接执行,不过命令i里面如果带有如下字符部分则执行不成功”<” > | & 等;

shell模块:

用法基本和command一样,不过其是同过/bin/sh进行执行,所以shell模块可以执行任何命令,就像在本机执行一样;

选项:

  • free_form:要执行的linux命令
  • chdir:在执行命令之前,先切换到 该指定的目录,默认工作目录是远程主机的家目录
  • creates:一个文件名,当该文件存在时,则命令不执行
  • removes:一个文件名,当该文件不存在时,则该命令不执行

    实例:

    image.png

    raw模块:

    用法和shell模块一样,也可以执行任意命令,就像在本机执行一样;和command、shell模块不同的是其没有chdir、creates、removes参数

    script模块:

    将管理端的shell 在 被管理主机上执行,其原理是先将shell复制到远程主机,再远程主机上执行。

    实例:

    image.png