仮想マシンはコンソール モードを使用します。バッチ実行操作は次のとおりです。直接勝利します。

!usr/bin/env Python

- - コーディング:utf-8 _ -

インポート os,sys
def virsh_console(vm_info_lists):

vm_info_lists = [[]]

#vm_info_lists = [["vmName","username","password","shell"]]
for vm in eval(vm_info_lists):
    print(vm)
    with open("test.sh", mode="w+", encoding="utf-8") as f:
        data = ["#!/bin/bash\n",
                "expect << EOF\n",
                'spawn virsh console %s\n' % vm[0],
                'expect "]" {send "\\r"}\n',
                'expect ":" {send "%s\\r"}\n' % vm[1],
                'expect "Password:" {send "%s\\r"}\n' % vm[2],
                'expect "#" {send "%s\\r"}\n' % vm[3],
                'expect "#" {send "exit\\r"}\n',
                'EOF\n']
        f.writelines(data)
    os.system("sh test.sh")

if name == ' main ':
vm_info_lists = sys.argv[1]
virsh_console(vm_info_lists)

手順と例は次のとおりです。
vm_console.py スクリプトをホスト上の任意の場所に配置し、次のコマンドを直接実行します。
単一の仮想マシンで実行します。
python3 vm_console.py '[[“vmName”, “username”, “password” 、「シェル」]]'

複数の仮想マシンが実行します。

python3 vm_console.py '[["vmName","username","password","shell"],["vmName1","username","password","shell"]]'

使用例:

python3 vm_console.py '[[“vm_1_1234”,“root”,“ctsi@123”,“stress -c7 & &&tress --vm 1 --vm-bytes 10G --vm-keep”]]'

python3 vm_console.py '[[“vm_temple_4_2_53”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_55”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_57”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_59”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[["vm_temple_4_2_61","root","passw0rd","stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &"]]';
python3 vm_console.py '[[“vm_temple_4_2_63”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[["vm_temple_4_2_65","root","passw0rd","stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &"]]';
python3 vm_console.py '[[“vm_temple_4_2_67”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_69”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_71”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';
python3 vm_console.py '[[“vm_temple_4_2_73”,“root”,“passw0rd”,“stress -c 2&tress --vm 1 --vm-bytes 2G --vm-keep &”]]';

おすすめ

転載: blog.csdn.net/qq_41196999/article/details/131462199
おすすめ