zoukankan      html  css  js  c++  java
  • python控制阿里云服务器开机,关机,重启

    #!/usr/bin/env python
    # encoding: utf-8
    
    from aliyunsdkcore import client as clientObj
    from aliyunsdkecs.request.v20140526 import StartInstanceRequest, StopInstanceRequest, 
        RebootInstanceRequest  # pip3 install aliyun-python-sdk-ecs
    
    import traceback
    instance_id_list  =  [['host名','id'].......]  #linux服务器
    win_instance_id_list  =  [['host名','id'].......] #windows服务器
    
    
    
    AccessKeyId = 'xxxxxxx'   
    AccessKeySecret = 'xxxxxxx'   
    region = 'xxx'
    region2 = 'xxxx'
    
    client = clientObj.AcsClient(AccessKeyId, AccessKeySecret, region)
    client2 = clientObj.AcsClient(AccessKeyId, AccessKeySecret, region2)
    
    
    def start_instance(instance_id, clientobj2):
        """
        开机
        :param instance_id:
        :return:
        """
        try:
            request = StartInstanceRequest.StartInstanceRequest()
            request.set_InstanceId(instance_id)
            resp = clientobj2.do_action_with_exception(request)
            # print(resp)
            print(f"开机--{resp}")
        except:
            print(f"开机--异常--{instance_id}--{traceback.format_exc()}")
    
    
    def start_all_instance(params=None):
        if params =="win":
            for instance_id in win_instance_id_list:
                if len(instance_id) == 2:
                    start_instance(instance_id[1], client)
                else:
                    start_instance(instance_id[-1], client2)
        else:
            for instance_id in instance_id_list:
                if len(instance_id) == 2:
                    start_instance(instance_id[1], client)
                else:
                    start_instance(instance_id[-1], client2)
    
                # return
    
    
    def stop_instance(instance_id, clientobj2):
        """
        关机
        :param instance_id:
        :return:
        """
        try:
            request = StopInstanceRequest.StopInstanceRequest()
            request.set_InstanceId(instance_id)
            resp = clientobj2.do_action_with_exception(request)
            # print(resp)
            print(f"关机--{resp}")
        except:
            print(f"关机--异常--{instance_id}--{traceback.format_exc()}")
    
    
    def stop_all_instance(params=None):
    
        if params == "win":
            for instance_id in win_instance_id_list:
                if len(instance_id) == 2:
                    stop_instance(instance_id[1], client)
                else:
                    stop_instance(instance_id[-1], client2)
        else:
            for instance_id in instance_id_list:
                if len(instance_id) == 2:
                    stop_instance(instance_id[1], client)
                else:
                    stop_instance(instance_id[-1], client2)
    
            # return
    
    def reboot_instance(instance_id):
        """
        重启
        :param instance_id:
        :return:
        """
        try:
            request = RebootInstanceRequest.RebootInstanceRequest()
            request.set_InstanceId(instance_id)
            resp = client.do_action_with_exception(request)
            # print(resp)
            print(f"重启--{resp}")
        except:
            print(f"重启--异常--{instance_id}--{traceback.format_exc()}")
    
    
    def reboot_all_instance(params=None):
        if params == "win":
            for instance_id in win_instance_id_list:
                reboot_instance(instance_id[1])
        else:
            for instance_id in instance_id_list:
                reboot_instance(instance_id[1])
    
    
    if __name__ == '__main__':
        pass
        start_all_instance('win')
    
    
    
    
  • 相关阅读:
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(2月16日)
    优步UBER司机全国各地奖励政策汇总 (2月15日-2月21日)
    优步UBER司机全国各地奖励政策汇总 (2月8日-2月14日)
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(2月7日~2月13日)
    成都Uber优步司机奖励政策(2月7日)
    file does not exist 阿里云OSS图片上传遇到的问题
    redis.conf 配置项说明
    redis 五大数据类型的常用指令
    redis配置外部访问
    linux安装redis
  • 原文地址:https://www.cnblogs.com/pythonywy/p/14461956.html
Copyright © 2011-2022 走看看