オートメーションマルチホスト、時間、労力を節約
アイデア:
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 \'パスワード:」%(ユーザ名)) #入力ユーザパスワード
スレッド= [] #多线程 プリント("......開始") のためにsaphostでhostnamelist(): A= threading.Thread(目標= SSH2、引数=(saphost、ユーザ名、passwdを、CMD)) a.start() a.join() 印刷("エンド........")