Linuxのマルチスレッドバッチ・オートメーション・運用・保守

オートメーションマルチホスト、時間、労力を節約

アイデア:

1.システムのホストリスト

2.バッチタスクリスト

3.マルチスレッド実行

前提:統一されたシステム管理者のパスワード

輸入paramiko
 インポートスレッド

デフhostnamelist():
     "" " リターン:ホスト名のリスト
    """ 
    試してみる
        ホスト =オープン(" system_nonp.lst "" R "、エンコード= ' UTF-8 ' )のホスト名のリスト#reading 
        ホスト名を = hosts.readlines()
         の戻りホスト名
     を除くFileNotFoundError:
         印刷「ファイルを開くことができませんを除きますLookupErrorが:
         プリント'間違ったコードをASSING ' を除くUnicodeDecodeError:
         プリント'間違ったコードを含むファイルを読み込む' 最後にもしホスト:
            hosts.close()

デフSSH2(IP、ユーザー名、passwdを、CMD):
     試してみる
        SSH = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(IP、 22、ユーザ名は、passwd、タイムアウト= 100 印刷"-------------------%sの----------------------------- - "(IP))
         のために M CMD:
            STDIN、STDOUT、標準エラー = ssh.exec_command(M)
            stdin.write(" Y」)#input 'Y' 
            アウト= stdout.readlines()
            scren出力
            するための O アウト:
                 プリント(O)
         印刷' %sの\トック\ nは'(IP))
         プリント-------------------%sの---- -------------------------- \ N \ N "(IP))
        ssh.close()
    を除く印刷' %sの\テロ\ nは'(IP))

であれば __name__ == ' __main__ ' 
    CMD   = [ ' 日付'" PS -ef | grepを-iのSplunk ' ' のpython ' ' ifconfigコマンド' ]      = " XXXXX "   用户名 
    のpasswd = 入力(「入力ユーザ%S \'パスワード:」%(ユーザ名)) 入力ユーザパスワード
スレッド= [] 多线程 プリント"......開始"のためにsaphosthostnamelist(): A= threading.Thread(目標= SSH2、引数=(saphost、ユーザ名、passwdを、CMD)) a.start() a.join() 印刷"エンド........"

 

おすすめ

転載: www.cnblogs.com/tingxin/p/11949317.html