ansible中使用command模块获取受控主机的主机名操作命令
时间: 2024-02-05 14:12:08 浏览: 242
要在Ansible中使用command模块获取受控主机的主机名,可以使用以下命令:
```
ansible <主机组> -m command -a 'hostname'
```
这将在指定的主机组中运行command模块,并使用`hostname`命令获取主机名。如果要获取多个主机的主机名,可以将主机组中的所有主机列出,或者使用通配符来匹配主机名。
相关问题
ansible中使用command模块获取受控主机的主机名
可以使用 `hostname` 命令来获取受控主机的主机名,然后使用 Ansible 的 `command` 模块来执行该命令,如下所示:
```
- name: Get hostname of the remote host
command: hostname
register: hostname_output
- name: Print the hostname of the remote host
debug:
var: hostname_output.stdout
```
在上面的示例中,`command` 模块执行了 `hostname` 命令,并将输出保存在 `hostname_output` 注册变量中。然后,使用 `debug` 模块打印 `hostname_output.stdout` 变量,它包含了受控主机的主机名。
使用ansible的command模块查看指定主机的内存使用情况
Ansible是一个自动化运维工具,它可以通过简单的配置文件来管理服务器的配置和部署。使用Ansible的command模块可以执行远程服务器上的命令,并获取返回的结果。如果你想查看指定主机的内存使用情况,可以使用free命令,结合Ansible的command模块来实现。
以下是一个示例的Ansible playbook,演示了如何使用command模块查看远程主机的内存使用情况:
```yaml
- hosts: your_host_group
tasks:
- name: 查看内存使用情况
command: free - name: 输出内存使用信息
debug:
var: mem_info.stdout_lines
```
在这个playbook中:
1. `hosts` 行定义了目标主机的主机组名(your_host_group),你需要将其替换为实际的主机组名或主机名。
2. 第一个任务使用了command模块来执行`free -m`命令(`-m`参数表示以MB为单位显示内存信息),并将返回结果注册到变量`mem_info`中。
3. 第二个任务使用debug模块来输出变量`mem_info.stdout_lines`,这将展示命令执行的结果。
确保在执行playbook之前已经正确配置了Ansible的inventory文件(通常位于`/etc/ansible/hosts`),并且你有足够的权限在目标主机上执行命令。
阅读全文