Ansible教程:Ad Hoc 命令介绍(Ansible命令) 作者:马育民 • 2026-09-21 07:58 • 阅读:10001 # 介绍 Ad Hoc 就是**临时单行命令**,不需要写 playbook,直接在命令行对批量主机执行任务,适合简单、一次性操作(查看状态、拷贝文件、启停服务、执行shell等)。 # 基础语法 ```bash ansible all/主机组/主机 -m 模块名 -a "模块参数" [其他选项] ``` **解释:** - `主机组/主机`:inventory 里的组名、单个IP、多个IP逗号分隔,`all`代表所有主机 - `-m`:指定**模块**,默认模块是 `command`(执行命令,不支持管道、重定向) - `-a`:模块的参数,要执行的内容 - 常用额外参数: - `-i`:指定 inventory 文件(不使用默认 `/etc/ansible/hosts`) - `-u`:指定ssh登录用户 - `-k`:交互式输入ssh密码(不推荐,生产用密钥) - `-K`:交互式输入sudo密码(提权) - `-b`:开启sudo提权(become,相当于`sudo`) - `-B N`:后台异步执行,超时N秒 - `-P N`:异步任务轮询间隔 - `-f`:并发线程数,默认5 - `-o`:单行精简输出 - `--limit`:限定只对部分主机执行 # Ad Hoc 和 Playbook 的区别 | Ad Hoc | Playbook | |---|---| | 单行命令,临时一次性任务 | yaml剧本,可复用、复杂编排 | | 无变量/循环/条件判断(很难写) | 支持变量、when、loop、handler | | 适合:查看、简单拷贝、启停服务 | 适合:部署、配置管理、多步骤流程 | 原文出处:/show_1GW45QUhVUIo.html