首页 > 编程语言 > 详细

python 脚本之批量更改主机名

时间:2014-03-25 15:52:24      阅读:620      评论:0      收藏:0      [点我收藏+]

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


本文出自 “系统运维” 博客,请务必保留此出处http://davidbj.blog.51cto.com/4159484/1382808

python 脚本之批量更改主机名,布布扣,bubuko.com

python 脚本之批量更改主机名

原文:http://davidbj.blog.51cto.com/4159484/1382808

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!