python修改电脑名称_python 脚本之批量更改主机名

博主接到更改多台主机主机名的工作任务,使用Python的paramiko Module编写了批量修改主机名的脚本。脚本包含修改网络配置文件中的主机名、直接修改主机名、显示网络配置文件中的主机名以及显示当前主机名等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天接到上面工作任务,让更改多台主机的主机名称。使用python paramiko Module,随手写了一个批量修改主机名的脚本。

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import paramiko

HOSTNAME='root'

PORT=22

PASSWD='123456'

NUM=range(139, 144)

def changNetwork():

""" change /etc/sysconfig/network HOSTNAME. """

name = 1

for i in NUM:

NM = "dcache-ct3-node%s.et.letv.com" % name

HOST = "10.180.91.%s" % i

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(HOST, port=PORT, username=HOSTNAME, password=PASSWD)

ssh.exec_command('sed -i "s/HOSTNAME=.*/HOSTNAME=%s/" /etc/sysconfig/network' % NM)

ssh.close()

name +=1

def changeHostName():

""" change hostname. """

name = 1

for i in NUM:

NM = "dcache-ct3-node%s.et.letv.com" % name

HOST = "10.180.91.%s" % i

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(HOST, port=PORT, username=HOSTNAME, password=PASSWD)

ssh.exec_command('hostname %s ' % NM)

ssh.close()

name +=1

def showNetwork():

""" show /etc/sysconfig/network HOSTNAME. """

name = 1

for i in NUM:

HOST = "10.180.91.%s" % i

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(HOST, port=PORT, username=HOSTNAME, password=PASSWD)

stdin, stdout, stderr = ssh.exec_command('cat /etc/sysconfig/network | grep "^HOSTNAME="')

for i in stdout:

print i

print HOST

ssh.close()

#print "dcache-zb6-node%s.et.letv.com" % name

#name +=1

def showHostName():

""" show hostname. """

name = 1

for i in NUM:

HOST = "10.180.91.%s" % i

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(HOST, port=PORT, username=HOSTNAME, password=PASSWD)

stdin, stdout, stderr = ssh.exec_command('hostname')

for i in stdout:

print i

print HOST

ssh.close()

if __name__ == "__main__":

changNetwork()

changeHostName()

showNetwork()

showHostName()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值