 批量修改主机名
批量修改主机名
  脚本内容如下
import os
import subprocess
# 设置要修改的主机名前缀
NEW_HOSTNAME_PREFIX = 'server'
# 设置要修改主机名的IP地址列表
TARGET_IPS = ['10.0.0.1', '10.0.0.2', '10.0.0.3']
def change_hostname(ip, new_hostname):
    """使用SSH远程修改主机名"""
    ssh_cmd = f'ssh root@{ip} "hostnamectl set-hostname {new_hostname}"'
    subprocess.run(ssh_cmd, shell=True, check=True)
    print(f'主机 {ip} 的主机名已修改为 {new_hostname}')
def main():
    for i, ip in enumerate(TARGET_IPS, start=1):
        new_hostname = f'{NEW_HOSTNAME_PREFIX}{i:02d}'
        try:
            change_hostname(ip, new_hostname)
        except subprocess.CalledProcessError as e:
            print(f'无法修改主机 {ip} 的主机名: {e}')
if __name__ == '__main__':
    main()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
注意,该脚本假设您已经在目标主机上配置了无密码SSH访问权限。如果没有,您需要手动输入密码,或者使用SSH密钥对进行身份验证。
 
           
      上次更新: 2024/12/04, 17:15:49
 
  |
 |