!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 &”]]';