The virtual machine uses the console method - the batch execution operation is as follows - directly win

!usr/bin/env python

-- coding:utf-8 _-

import 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)

The instructions and examples are as follows:
put the vm_console.py script anywhere on the host, and execute the following commands directly
Execute on a single virtual machine:
python3 vm_console.py '[[“vmName”, “username”, “password”, “shell” ]]'

Multiple virtual machines execute:

python3 vm_console.py ‘[[“vmName”,“username”,“password”,“shell”],[“vmName1”,“username”,“password”,“shell”]]’

Example of use:

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

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

Guess you like

Origin blog.csdn.net/qq_41196999/article/details/131462199