ansible用命令依次修改主机名,第一个受控修改为Linux1 第二个受控修改为Linux2 第三个受控修改为Linux3
时间: 2024-09-12 15:08:32 浏览: 46
ansible-role-bastille:一个协助服务器将其配置为BastilleBSD主机的角色
Ansible是一个强大的自动化运维工具,它支持通过SSH远程执行任务。如果你想使用Ansible批量修改主机名,你可以创建一个 playbook(脚本文件),步骤如下:
1. 首先,你需要在 Ansible 控制机上安装 `ansible` 并配置好 inventory(主机列表)。通常 inventory 文件会列出你要管理的 Linux 主机,并指明它们的 IP 地址或 hostname。
```yaml
# hosts.ini 或 ansible_inventory
[linux_servers]
Linux1 ansible_host=192.168.1.1
Linux2 ansible_host=192.168.1.2
Linux3 ansible_host=192.168.1.3
```
2. 创建一个新的 playbook(如 `hostname_change.yml`)文件,编写包含任务的基本结构:
```yaml
---
- name: 修改主机名
hosts: linux_servers
become: true
tasks:
- name: 更改主机名
command: |
sudo hostnamectl set-hostname {{ item }}
with_items:
- Linux1
- Linux2
- Linux3
```
这里使用了 `with_items` 来迭代指定的主机名列表,`command` 指令用于运行相应的命令(在这个例子中是 `hostnamectl set-hostname`)。
3. 执行 playbook:
在控制机上运行以下命令来应用这个 playbook:
```bash
ansible-playbook -i hosts.ini hostname_change.yml
```
这将会按照顺序修改 Linux1、Linux2 和 Linux3 的主机名。记得在执行之前确保有足够的权限进行系统级别的更改。
阅读全文