温馨提示×

CentOS hostname如何批量修改

小樊
41
2026-01-06 06:40:39
栏目: 智能运维

在 CentOS 系统中,批量修改主机名可以通过编写脚本来实现。以下是一个简单的示例,展示了如何使用 Bash 脚本批量修改多台服务器的主机名。

  1. 首先,创建一个包含所有服务器 IP 地址和对应新主机名的文件,例如 hostnames.txt。文件格式如下:
192.168.1.1 new-hostname-1
192.168.1.2 new-hostname-2
192.168.1.3 new-hostname-3
  1. 创建一个名为 change_hostname.sh 的 Bash 脚本,并添加以下内容:
#!/bin/bash

# 读取 hostnames.txt 文件中的每一行
while IFS= read -r line
do
  # 提取 IP 地址和新主机名
  ip=$(echo $line | awk '{print $1}')
  new_hostname=$(echo $line | awk '{print $2}')

  # 远程登录到服务器并修改主机名
  ssh root@$ip "hostnamectl set-hostname $new_hostname"
done < hostnames.txt
  1. 为脚本添加可执行权限:
chmod +x change_hostname.sh
  1. 运行脚本以批量修改主机名:
./change_hostname.sh

注意:在运行脚本之前,请确保您已经通过 SSH 密钥或其他方式配置了无密码登录到所有目标服务器。

这个脚本会逐行读取 hostnames.txt 文件中的 IP 地址和新主机名,并通过 SSH 连接到每台服务器,使用 hostnamectl 命令修改主机名。

0