ansible批量修改主机名
时间: 2023-07-26 21:43:06 浏览: 97
可以通过 Ansible 的 `hostname` 模块批量修改主机名。以下是一个修改主机名的 playbook 示例:
```yaml
- name: set hostname
hosts: all
become: true
tasks:
- name: set hostname
hostname:
name: new_hostname_here
```
将 `new_hostname_here` 替换为你想要设置的新主机名,然后运行 playbook 即可批量修改所有主机的主机名。
相关问题
怎么使用ansible批量修改主机名
使用ansible批量修改主机名的步骤如下:
1. 编写playbook文件,指定要修改的主机名
2. 运行playbook,使用ansible-playbook命令
3. 确保主机上已安装了必要的模块(如platform)
示例playbook:
```
- name: change hostname
hosts: all
tasks:
- name: set hostname
hostname:
name: "{{ new_hostname }}"
```
运行方法:
```
ansible-playbook -i inventory change_hostname.yml --extra-vars "new_hostname=new_host_name"
```
ansible如何批量修改不同的主机名
可以使用Ansible的playbook来批量修改不同的主机名。以下是一个示例的Ansible playbook:
```yaml
---
- name: Change Hostname
hosts: redhat7
vars:
selinux_policy: targeted
selinux_state: disabled
tasks:
- name: Change Hostname
hostname:
name: "{{ ansible_default_ipv4.address.split('.')[-2] }}-{{ ansible_default_ipv4.address.split('.')[-1] }}"
```
在这个playbook中,我们首先指定了要操作的主机组为`redhat7`。然后,我们定义了两个变量`selinux_policy`和`selinux_state`,用于设置SELinux的策略和状态。接下来,我们定义了一个任务`Change Hostname`,使用`hostname`模块来修改主机名。在`name`参数中,我们使用了Ansible的变量和字符串拼接的方式来生成新的主机名。
通过运行这个playbook,Ansible会自动连接到每个主机,并根据定义的任务来修改主机名。