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


你可能感兴趣的:(python,localhost,NetWork,password)