在Linux系统中,批量修改多个主机的hostname可以通过编写脚本来实现。以下是一个简单的示例,展示了如何使用Shell脚本来批量修改一组主机的hostname。
准备主机列表:
创建一个包含所有主机名的文件,例如 hosts_list.txt
。
host1
host2
host3
编写Shell脚本:
创建一个Shell脚本文件,例如 change_hostname.sh
。
#!/bin/bash
# 读取主机列表文件
HOST_LIST="hosts_list.txt"
# 遍历主机列表并修改hostname
while IFS= read -r HOSTNAME; do
# 使用ssh连接到每台主机并修改hostname
ssh user@$HOSTNAME "sudo hostnamectl set-hostname $HOSTNAME"
ssh user@$HOSTNAME "sudo systemctl restart systemd-hostnamed"
done < "$HOST_LIST"
请将 user
替换为实际的用户名。
设置脚本权限: 赋予脚本执行权限。
chmod +x change_hostname.sh
运行脚本: 执行脚本以批量修改hostname。
./change_hostname.sh
sudo
。假设你有三台主机 host1
, host2
, host3
,并且你已经配置了SSH无密码登录。你可以按照上述步骤创建脚本并运行它来批量修改这些主机的hostname。
通过这种方式,你可以高效地批量修改多个Linux主机的hostname。