def main(): # loggerフォーマットメソッド logger = vm_module.logger_format() # parserメソッド args = vm_module.set_args_paramiko() #接続メソッド si = vm_module.si_connect(args.host, args.username, args.password) #CreateContainerViewメソッド vm_list = vm_module.CreateContainerView(si, vim.VirtualMachine) USER = args.ssh_username PSWD = args.ssh_password vm_name = 'centos-1-g2' logger.info('開始します') logger.info('--------------------------------') # 転送先のVM電源ON、IPアドレス取得 for vm in vm_list.view: if vm.name == vm_name: ip_result = get_ip(vm, logger) if ip_result == True: logger.info('転送先の%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('転送先の%sのIPアドレスの取得失敗' % vm.name) logger.info('') logger.info('転送することができないため、終了します') sys.exit() # 転送元のVM電源ON、IPアドレス取得 for vm in vm_list.view: if vm.name == 'ESXi': ip_result = get_ip(vm, logger) if ip_result == True: logger.info('%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('%sのIPアドレスの取得失敗' % vm.name) logger.info('') logger.info('%sへのSSH接続処理が実行不可のため終了します' % vm.name) sys.exit() HOST = vm.summary.guest.ipAddress ssh = dossh(USER, PSWD, HOST, logger)
def main(): # loggerフォーマットメソッド logger = vm_module.logger_format() # parserメソッド args = vm_module.set_args_paramiko() # 接続メソッド si = vm_module.si_connect(args.host ,args.username ,args.password) # CreateContainerViewメソッド vm_list = vm_module.CreateContainerView(si, vim.VirtualMachine) USER = args.ssh_username PSWD = args.ssh_password command = args.command logger.info('開始します') logger.info('-------------------------------------------') for vm in vm_list.view: # IP取得メソッド ip_result = get_ip(vm,logger) # IP取得の結果判定 if ip_result is True: logger.info('%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('%sのIPアドレスの取得失敗' % vm.name) logger.info('') logger.info('%sへのSSH接続をスキップします' % vm.name) logger.info('-------------------------------------------') continue # 値を代入 HOST = vm.summary.guest.ipAddress # SSH接続メソッド ssh = connect_ssh(HOST,USER,PSWD,logger,vm) # 接続結果がFalseの場合passして終了 if ssh is False: pass else: result = check_command(ssh,command,logger,vm)
def main(): # loggerフォーマットメソッド logger = vm_module.logger_format() # parserメソッド args = vm_module.set_args_paramiko() #接続メソッド si = vm_module.si_connect(args.host, args.username, args.password) #CreateContainerViewメソッド vm_list = vm_module.CreateContainerView(si, vim.VirtualMachine) USER = args.ssh_username PSWD = args.ssh_password command = args.command PROMPT = '[root@localhost:~] ' password = '******' logger.info('開始します') logger.info('--------------------------------') for vm in vm_list.view: if vm.name == 'ESXi': ip_result = get_ip(vm, logger) if ip_result == True: logger.info('%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('%sのIPアドレスの取得に失敗' % vm.name) logger.info('') logger.info('%sへのSSH接続処理をスキップします' % vm.name) logger.info('--------------------------------') continue HOST = vm.summary.guest.ipAddress ssh = connect_ssh(HOST, USER, PSWD, logger, vm) if ssh == False: pass else: result = check_command(ssh, command, logger, vm, PROMPT, password)
def main(): # loggerフォーマットメソッド logger = vm_module.logger_format() # parserメソッド args = vm_module.set_args_paramiko() # 接続メソッド si = vm_module.si_connect(args.host, args.username, args.password) #CreateContainerViewメソッド vm_list = vm_module.CreateContainerView(si, vim.VirtualMachine) USER = args.ssh_username PSWD = args.ssh_password vm_name = 'centos-1-g2' ESXi_name = 'ESXi' logger.info('開始します') logger.info('--------------------------------') # 転送先のVM電源ON、IPアドレス取得 for vm in vm_list.view: if vm.name == vm_name: ip_result = get_ip(vm, logger) if ip_result == True: logger.info('転送先の%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('転送先の%sのIPアドレスの取得失敗' % vm.name) logger.info('') logger.info('転送することができないため、終了します') sys.exit() # 転送元のVM電源ON、IPアドレス取得 for vm in vm_list.view: if vm.name == ESXi_name: ip_result = get_ip(vm, logger) if ip_result == True: logger.info('%sのIPアドレスの取得成功' % vm.name) logger.info('') else: logger.info('%sのIPアドレスの取得失敗' % vm.name) logger.info('') logger.info('%sへのSSH接続処理が実行不可のため終了します' % vm.name) sys.exit() HOST = vm.summary.guest.ipAddress try: ssh = connect_ssh(HOST, USER, PSWD) except pxssh.ExceptionPxssh as e: print('ssh接続できませんでした。終了します。') print(str(e)) sys.exit() logger.info('ssh接続を開始します') logger.info('') command = 'touch cpuinfo.txt' ssh_execution(ssh, command, logger) command = 'cat /proc/cpuinfo' ssh_execution(ssh, command, logger) command = 'cat /proc/cpuinfo > cpuinfo.txt' ssh_execution(ssh, command, logger) command = 'scp cpuinfo.txt [email protected]:/home/tokunaga' ssh_execution(ssh, command, logger) a = '[email protected]\'s password:'******'Are you sure you want to continue connecting (yes/no)?' input_message = ssh.before.decode('utf-8') if re.search(a, input_message): command = 'Toku1456' ssh_execution(ssh, command, logger) elif re.search(b, input_message): command = 'yes' ssh_execution(ssh, command, logger) command = 'Toku1456' ssh_execution(ssh, command, logger) logger.info('--------------------------------') ssh.logout()
def main(): # loggerフォーマットメソッド logger = vm_module.logger_format() # parserメソッド args = vm_module.set_args_paramiko() #接続メソッド si = vm_module.si_connect(args.host, args.username, args.password) #CreateContainerViewメソッド vm_list = vm_module.CreateContainerView(si, vim.VirtualMachine) USER = args.ssh_username PSWD = args.ssh_password centos_name = 'centos-1-g2' ESXi_name = 'ESXi' logger.info('開始します') logger.info('--------------------------------') # 転送先のVM電源ON、IPアドレス取得 centos = [vm for vm in vm_list.view if vm.name == centos_name] if centos: centos_vm = centos[0] else: logger.error('対象のCentosが見つかりませんでした') sys.exit(1) ip_result = get_ip(centos_vm, logger) if ip_result == True: logger.info('転送先の%sのIPアドレスの取得成功' % centos_vm.name) logger.info('') else: logger.error('転送先の%sのIPアドレスの取得失敗' % centos_vm.name) logger.info('') logger.error('転送することができないため、終了します') sys.exit(1) # 転送元のVM電源ON、IPアドレス取得 esxi = [vm for vm in vm_list.view if vm.name == ESXi_name] if esxi: esxi_vm = esxi[0] else: logger.error("対象のESXiが見つかりませんでした") sys.exit(1) ip_result = get_ip(esxi_vm, logger) if ip_result == True: logger.info('%sのIPアドレスの取得成功' % esxi_vm.name) logger.info('') else: logger.error('%sのIPアドレスの取得失敗' % esxi_vm.name) logger.info('') logger.error('%sへのSSH接続処理が実行不可のため終了します' % esxi_vm.name) sys.exit(1) HOST = esxi_vm.summary.guest.ipAddress try: ssh = connect_ssh(HOST, USER, PSWD) except pxssh.ExceptionPxssh as e: logger.error('ssh接続できませんでした。終了します。') logger.error(str(e)) sys.exit(1) logger.info('ssh接続を開始します') logger.info('') command = 'touch cpuinfo.txt' ssh_execution(ssh, command, logger) command = 'cat /proc/cpuinfo' ssh_execution(ssh, command, logger) command = 'cat /proc/cpuinfo > cpuinfo.txt' ssh_execution(ssh, command, logger) command = 'scp cpuinfo.txt [email protected]:/home/tokunaga' ssh_execution(ssh, command, logger) input_message = ssh.before.decode('utf-8') # message_list = ['[email protected]\'s password:'******'Are you sure you want to continue connecting (yes/no)?'] # # if re.search(message_list[0], input_message): # command = 'Toku1456' # ssh_execution(ssh, command, logger) # elif re.search(message_list[1], input_message): # command = 'yes' # ssh_execution(ssh, command, logger) # command = 'Toku1456' # ssh_execution(ssh, command, logger) message = 'Are you sure you want to continue connecting (yes/no)?' if re.search(message, input_message): command = 'yes' ssh_execution(ssh, command, logger) command = 'Toku1456' ssh_execution(ssh, command, logger) logger.info('--------------------------------') logger.info('出力結果') logger.info(ssh.before.decode('utf-8')) logger.info('--------------------------------') ssh.logout()