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
时间: 2024-11-14 01:12:52

python 批量修改主机名的相关文章

批量修改主机名脚本

脚本思路:生成秘钥后,批量传输秘钥,根据hosts文件批量修改主机名. 运行环境:用户名统一是root,密码统一是123456 脚本 #!/bin/bash # check expect first ############################################################# passwd=123456 key=/root/.ssh/id_rsa ip=`ifconfig eth0 | sed -n '2p'| cut -d: -f2 | cut -

秘钥推送脚本,批量修改主机名

在生产环境线上,服务器统一命名是非常重要的,它遵循了环境标准化,使运维工程师能够更方便的管理线上服务器,当出现问题时,能够快速的定位问题.排查问题.解决问题. 编写脚本思路: 1.基于ssh-key生产秘钥 2.基于ssh与其他节点完成第一次交互(yes/no) 3.基于ssh-copy-id实现远程批量推送秘钥 4.基于sed来修改不同集群的不同主机名 测试环境:                   主机名                      IP               [[ema

用于阿里云批量修改主机名

import paramiko import sys,os host_list=[ #主机名,ip ['app176','192.168.100.1',], ] def hostname():     s = paramiko.SSHClient()     s.load_system_host_keys()     s.set_missing_host_key_policy(paramiko.AutoAddPolicy())     for host in host_list:        

python 批量修改包名

#coding=utf-8 import os #import re # 设置编码为utf-8 否则会报错..这时候 sublime控制台会报乱码.但是别担心,utf-8 文件 并不会报错 import sys reload(sys) sys.setdefaultencoding( "utf-8" ) #基础包名 basePackage='com.emark.base.注解' #基于基础包名的基本路径名,这里必须是unicode 打开....我也不知道为何别的字符串不用这样写....,

python批量修改linux主机密码

+++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linux主机密码.作者:Bruce重点:python使用SSH模块+循环操作,实现linux主机密码批量修改.注意:本脚本是在实验环境下生成的,如果线上使用,请先进性多次测试,防止出现问题.+++++++++++++++++++++++++++++++++++++++++++1. 包含文件1.1 脚本文件

Python批量修改一个目录文件名

#!/usr/bin/env python # -*- coding:utf-8 -*- import re  import os import time # str.split(string) 分割字符串 # '连接符'.join(list) 将列表组成字符串 def change_name(path): global i if not os.path.isdir(path) and not os.path.isfile(path): return False if os.path.isfil

笔记二:ansible批量设置主机名

批量设置主机名 系统环境:debian 8 本机ip   :180.76.169.6 被管理机:218.60.33.2 .218.60.33.3.218.60.33.4.218.60.33.5 更新时间: 2017-2-27 1. 在/etc/ansible/hosts配置主机信息(主机名需先在hosts设置好) [email protected]:~$ cat /etc/ansible/hosts # This is the default ansible 'hosts' file. # #

python批量修改文件名

python批量修改文件名 #coding:utf-8 import os # 列出当前目录的所有文件 files = os.listdir('.') for filename in files: # 分割文件名和后缀名 portion = os.path.splitext(filename) # 比较后缀名 if portion[1] == ".mp3": # 修改后缀名 newname = portion[0] + ".m4a" os.rename(filena

批量修改主机密码并发送到邮箱

1. 前言 需求:一批云主机,要求每周修改一次密码. 2. 实践 使用 ansible + sendmail 即可实现. 主机信息: (1)安装 sendmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar zxf sendEmail-v1.56.tar.gz -C /usr/src/ cd /usr/src/sendEmail-v1.56/ cp -a sendEmail