在 Ansible 中,`-m` 选项用于指定要使用的模块。模块是 Ansible 的核心组件,负责执行特定的任务,如管理文件、安装软件、执行命令等。以下是关于 `-m` 选项的详细说明和一些常用模块的示例。
### 使用 `-m` 选项
基本语法如下:
```bash
ansible <host-pattern> -m <module_name> [options]
```
- **`<host-pattern>`**: 指定目标主机,可以是单个主机、主机组或 `all`(表示所有主机)。
- **`<module_name>`**: 指定要使用的模块名称。
### 示例
1. **使用 `ping` 模块测试连接**:
```bash
ansible all -m ping
```
这个命令会测试 Ansible 控制节点与所有目标主机之间的连接。
2. **使用 `command` 模块执行命令**:
```bash
ansible all -m command -a "uptime"
```
这个命令会在所有目标主机上执行 `uptime` 命令,并返回结果。
3. **使用 `copy` 模块复制文件**:
```bash
ansible all -m copy -a "src=/path/to/local/file dest=/path/to/remote/file"
```
这个命令会将本地文件复制到所有目标主机的指定路径。
4. **使用 `yum` 模块安装软件包**(适用于基于 RPM 的系统):
```bash
ansible all -m yum -a "name=httpd state=present"
```
这个命令会在所有目标主机上安装 `httpd` 软件包。
5. **使用 `apt` 模块安装软件包**(适用于基于 Debian 的系统):
```bash
ansible all -m apt -a "name=nginx state=present"
```
这个命令会在所有目标主机上安装 `nginx` 软件包。
### 常用模块
- **`ping`**: 测试连接性。
- **`command`**: 执行命令。
- **`shell`**: 执行 shell 命令。
- **`copy`**: 复制文件。
- **`template`**: 从模板文件生成配置文件。
- **`yum`**: 管理 RPM 包(适用于 CentOS/RHEL)。
- **`apt`**: 管理 APT 包(适用于 Debian/Ubuntu)。
- **`service`**: 管理服务的状态(启动、停止、重启等)。
- **`user`**: 管理用户账户。
### 总结
`-m` 选项是 Ansible 命令行工具中非常重要的一部分,它允许用户灵活地选择不同的模块来执行各种任务。如果你有其他问题或需要更详细的示例,请告诉我!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




