Xshell 批量導入IP

用xshell 添加IP,密碼的時候,若是少許的話,能夠手動添加;若是IP多的話,須要消耗很長時間,想到能夠利用腳原本實現,前提是批量機器的密碼是同樣的python

首先在xshell 裏面建立一個模板出來,將批量IP放到文件中,運行腳本就能夠了shell

腳本以下session

# coding=utf-8
import os
import shutil
import fileinput
target_dir = unicode("你本身的xshell session 目錄", "utf-8")
def test():
    ip_doc_list = []
    if os.path.exists(target_dir) and os.listdir(target_dir):
        original_file = os.listdir(target_dir)[0]
        original_ip = original_file.rstrip(".xsh")
        with open(target_dir + "ip.txt") as ip_doc_file:
            for ip_doc_line in ip_doc_file:
                if ip_doc_line.split():
                    ip_doc_list.append(ip_doc_line.split())     # 文件內容放在list裏面[[ip, doc], [ip, doc],[ip]]
        # 根據模板拷貝文件
        for ip_doc in ip_doc_list:
            file_name_doc = "-" + ip_doc[1] + ".xsh" if len(ip_doc) == 2 else ".xsh"
            if str(ip_doc[0]) != str(original_ip):
                shutil.copyfile(target_dir + original_file, target_dir + ip_doc[0] + file_name_doc)
        # 修改文件中HOST字段,改爲真正的IP
        print "========修改文件內容HOST============"
        target_file_list = os.listdir(target_dir)
        for target_file in target_file_list:
            target_ip = target_file.split("-")[0] if len(target_file.split("-")) == 2 else target_file.split("-")[0].rstrip(".xsh")
            for line in fileinput.input(target_dir + target_file, inplace=1):
                print line.rstrip().replace(original_ip, target_ip)
            fileinput.close()
    else:
        print " 您輸入的文件路徑 或文件名不合法!!!!"


if __name__ == "__main__":
    test()
相關文章
相關標籤/搜索