Pythonスクリプトを通じて複数の仮想マシンのハードウェア情報を読みます

主にファブリックモジュール実装による

インポートファブリック


' ''
ホスト= []
 のための I における範囲(216 ):
    ホスト = " 192.168.75。" + STR(I)
    hosts.append(ホスト
'''
 
DEF 
    getcpu(C):''」取CPU核数'' ' 
    もたらす = c.run(" はgrep -iプロセッサの/ proc / cpuinfoの| WC -l " を返すresult.stdout.strip()
DEF 
    getmem(C):''' 取内存大小'' 「
    mem_result = c.run("無料-h | grepを-i MEM | awkの'{$ 2印刷}'" を返すmem_result.stdout.strip()
:DEF GETDISK(C)
    '' ' 取第二磁盘VDB大小''' 
    disk_result(= c.runを" awkは「{$ 3印刷} | grepが-w VDB |のfdisk -l ' " 戻りdisk_result.stdout.strip()



DEF myconnect():
    ホスト = [ ' 192.168.75.2 '' 192.168.75.3 '' 192.168.75.4 '' 192.168.75.5 '' 192.168.75.6 '' 192。168.75.7 ' 192.168.75.8 '' 192.168.75.9 '' 192.168.75.10 '' 192.168.75.11 '' 192.168.75.12 '' 192.168.75.13 '' 192.168.75.14 '' 192.168.75.15 ' ] 
    #hosts = [ ' 192.168.75.2 ' ]
     のためにホストホスト:
        CONN = fabric.Connection(ホスト、ユーザ= 'ルート"、connect_kwargs = { " パスワード"" yourpass " })
        プリント(" {}:CPU {}核MEM {}ディスク{} G " .format(ホスト、getcpu(CONN)、getmem(CONN)、GETDISK(CONN) ))


もし __name__ == ' __main__ ' 
    myconnect()

 

おすすめ

転載: www.cnblogs.com/jimywu/p/12303550.html