今天接到上面工作任务,让更改多台主机的主机名称。使用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()

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐