python 批量修改主机名

公司需要新上项目,上架20台机器,要对这些主机进行改名

#!/usr/bin/env python
from multiprocessing import Process, Pool
import paramiko
import sys,os
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
def ssh_run(host_info):
    ip=host_info[0]
    username=host_info[1]
    password=host_info[2]
    hostname=host_info[3]
    s.connect(ip,22,username,password,timeout=5) 
    stdin,stdout,stderr=s.exec_command("sed -i ‘/HOSTNAME/s/localhost\.localdomain/%s/‘ /etc/sysconfig/network"%hostname)
    cmd_result = stdout.read(),stderr.read() 
    print ‘\033[32;1m-------------%s-----------\033[0m‘ % ip,‘Success‘
    for line in cmd_result: 
        print line,
p = Pool(processes=2)
result_list = []
f = open(‘ip.txt‘,‘r‘)
for line in f.readlines():
    new_line=line.strip(‘\n‘).split()
    result_list.append(p.apply_async(ssh_run, [new_line,]))
    f.close()
for res in result_list:
    res.get()
s.close()
cat ip.txt 
192.168.10.40 root 123456  web1
192.168.10.35 root 123456  web2


本文出自 “服务器” 博客,请务必保留此出处http://zhangfang2012.blog.51cto.com/6380212/1641806

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。