一、概述
Ansible ad hoc 命令使用/usr/bin/ansible命令行工具在一个或多个受管节点上自动执行单个任务。临时命令既快速又简单,但它们不可重复使用,执行完即结束,并不会保存。
二、ad-hoc使用场景
临时命令非常适合您很少重复的任务。
$ ansible [pattern] -m [module] -a "[module options]"
临时任务可用于重启服务器、复制文件、管理包和用户等等。可以在临时任务中使用任何 Ansible 模块。临时任务,如剧本,使用声明性模型,计算和执行达到指定最终状态所需的操作。它们通过在开始之前检查当前状态并且不执行任何操作来实现一种幂等形式,除非当前状态与指定的最终状态不同。
$ ansible atlanta -a "/sbin/reboot"
在 Ansible 执行此操作之前,您必须将所有服务器列在清单中名为 [atlanta] 的组中,并且您必须拥有该组中每台机器的有效 SSH 凭据。
三、ad-hoc使用说明
[root@m01 ~]# ansible 'web01' -m shell -a 'free -m'
web01 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 972 110 461 19 400 667
Swap: 2047 0 2047
四、ad-hoc返回结果颜色含义
绿色: 代表被管理端主机没有被修改
黄色: 代表被管理端主机发现变更
红色: 代表出现了故障,注意查看提示
紫色:警告
五、ad-hoc常用模块
command # 执行shell命令(不支持管道等特殊字符)
shell # 执行shell命令
script # 执行shell脚本
yum_repository # 配置yum仓库
yum # 安装软件
copy # 变更配置文件
file # 建立目录或文件
service # 启动与停止服务
mount # 挂载设备
cron # 定时任务
get_url # 下载软件
firewalld # 防火墙
selinux # selinux
六、ad-hoc帮助
#查看所有模块
[root@m01 ~]# ansible-doc -l
#常看指定模块使用方法
[root@m01 ~]# ansible-doc command
EXAMPLES:
#查看模块可以使用的参数
[root@m01 ~]# ansible-doc -s file