zoukankan      html  css  js  c++  java
  • Vmware 给虚拟机传脚本并执行

    #_*_ coding:utf8 _*_
    from pysphere import VIServer
    import ssl
    import re
    import sys
    import os
    import yaml
    
    config_name = 'config.yaml'
    config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), config_name)
    
    config = yaml.load(file(config_file))
    
    print config['vmware']['host'] , config['vmware']['user'], config['vmware']['pwd']
    
    ssl._create_default_https_context = ssl._create_unverified_context
    s = VIServer()
    s.connect(config['vmware']['host'], config['vmware']['user'], config['vmware']['pwd'])
    
    hosts = s.get_registered_vms() 
    try :
        if sys.argv[1] is not None:
           arg = sys.argv[1]
           
    except:
        print(""" 
    	[Notes]: script have option,the option is vm‘s name.
    """)
    
    #print hosts
    
    
    def filter(obj,v):
        hosts = s.get_registered_vms() 
        if v is not None:
           for host in hosts:
               res = re.findall(r'[S*] ' + v + '/' + v +'.vmx',host)
              # res = re.findall(r''+'[w*] '+ v + '/w*.vmx',host)
               if res:
                  return res
    v = filter(s, arg)
    vm = s.get_vm_by_path(v[0])
    print vm
    vm.login_in_guest('root','cditv#028')   #登录虚拟机
    vm.send_file('/root/pysphere-master/VMmission/init.sh','/tmp/init.sh')  #传送本地脚本到虚拟机
    vm.start_process('/bin/bash',args=["init.sh"], env='',cwd='/tmp')   #执行脚本
    

      

  • 相关阅读:
    c/c++指针数组和数组指针
    c/c++指针传参
    c/c++指针理解
    c/c++容器操作
    c/c++ 数组传参
    c/c++ 结构体传参问题
    c++ 创建对象的三种方法
    c/c++ 随机数生成
    c++预处理指令
    团队冲刺第二阶段01
  • 原文地址:https://www.cnblogs.com/kuku0223/p/9046974.html
Copyright © 2011-2022 走看看