python 批量修改主机名

2020-01-09 11:16:49 浏览数 (1)

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

代码语言:javascript复制
#!/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 '33[32;1m-------------%s-----------33[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()
代码语言:javascript复制
cat ip.txt 
192.168.10.40 root 123456  web1
192.168.10.35 root 123456  web2

0 人点赞