ansible 批量管理主机执行ping 内网设备 并返回结果
时间: 2023-08-19 14:22:12 浏览: 44
可以使用Ansible的ping模块来实现批量管理主机的ping操作,并且返回ping的结果。
1. 在inventory文件中列出需要ping的主机,比如:
```
[ping_hosts]
10.1.13.113
10.1.13.114
10.1.13.115
```
2. 创建一个playbook文件,比如ping.yml,写入以下内容:
```
---
- hosts: ping_hosts
gather_facts: no
tasks:
- name: ping
ping:
```
这个playbook文件定义了一个hosts组,包含了需要ping的主机列表。然后定义了一个名为ping的任务,使用ping模块执行ping操作。
3. 执行playbook文件,命令如下:
```
ansible-playbook ping.yml
```
执行完毕后,会输出每个主机的ping结果。
如果您需要将结果保存到文件中,可以使用以下命令:
```
ansible-playbook ping.yml | tee ping_result.txt
```
这个命令会将结果保存到ping_result.txt文件中,并且在终端上输出结果。
相关问题
ansible批量修改主机密码
以下是关于 ansible 批量修改主机密码的答案:
可以通过 Ansible 的 user 模块来批量修改主机密码。首先需要在 playbook 中定义一个包含要修改密码的主机的主机组,然后使用 user 模块来定义用户名和新密码。
以下是一个示例 playbook:
```
- hosts: example_hosts
gather_facts: no
tasks:
- name: Change passwords for user
user:
name: example_user
password: "{{ 'new_password' | password_hash('sha512', 'mysecretsalt') }}"
```
在这个示例中,`example_hosts` 是包含要修改密码的主机的主机组,`example_user` 是要修改密码的用户名,而 `new_password` 是新密码。
注意,密码需要使用 `password_hash` 过滤器进行加密才能进行设置。在这个示例中,使用 SHA-512 哈希函数进行加密,并指定一个 salt 来提高安全性。
当运行 playbook 时,Ansible 将使用 user 模块在所有包含在 `example_hosts` 主机组中的主机上修改 `example_user` 的密码。
希望这个答案对你有所帮助!如果你有更多的问题,请随时提出。
ansible批量修改主机名
可以通过 Ansible 的 `hostname` 模块批量修改主机名。以下是一个修改主机名的 playbook 示例:
```yaml
- name: set hostname
hosts: all
become: true
tasks:
- name: set hostname
hostname:
name: new_hostname_here
```
将 `new_hostname_here` 替换为你想要设置的新主机名,然后运行 playbook 即可批量修改所有主机的主机名。