Python操作腾讯云CVM

一、背景

客户有需求在非工作时间将腾讯云CVM停机,工作时间又开起来,停止可以在系统内写定时任务来,但启动需要在腾讯云平台,就需要使用腾讯云的API来进行操作,还好腾讯云SDK for Python ,简单记录下。

二、代码

git 地址
核心代码

  • CVM操作

    class CvmOper():
    def __init__(self,logger):
        config = configparser.ConfigParser()
        config.read(‘config.py‘,encoding=‘utf-8‘)
        self.instance_list = config[‘common‘][‘InstanceIds‘].split(‘,‘)
        print(self.instance_list)
        cred = credential.Credential(config[‘common‘][‘SecretId‘], config[‘common‘][‘SecretKey‘])
        self.clentoper = cvm_client.CvmClient(cred, config[‘common‘][‘Region‘])
    
        self.logger = logger
        self.logger.info("------------------------start cvm of API log-------------")
    def reboot_instance(self):
        """
        重启cvm
        :return:
        """
        # 设置参数
        request = models.RebootInstancesRequest()
        request.InstanceIds=self.instance_list
        # 发起请求
        response = self.clentoper.RebootInstances(request)
        self.logger.info("public ecs *** reboot successful!")
        self.logger.info(response.to_json_string())
        print(response.to_json_string())
  • 配置文件
[common]
# 腾讯云secretid
SecretId = AKIDjPYbTBU4FF4iAQuxxxxxxxxxxxxxxxxxxxxx
# 腾讯云secretkey
SecretKey = e7RaXYVP63rUvBNUQxxxxxxxxxxxxxxxx
# cvm 所在地域
Region = ap-shanghai

# 腾讯云cvm实例id,多个用,隔开
InstanceIds = ins-h8dxxxx
  • 日志记录
class CvmLog:
    def __init__(self,filename):
        self.filename = filename
    def createDir(self):
        _LOGDIR = os.path.join(os.path.dirname(__file__), ‘cvmlog‘)
        print(_LOGDIR)
        _TIME = time.strftime(‘%Y-%m-%d‘, time.gmtime()) + ‘-‘
        _LOGNAME = _TIME + self.filename
        print(_LOGNAME)
        LOGFILENAME = os.path.join(_LOGDIR, _LOGNAME)
        print(LOGFILENAME)
        if not os.path.exists(_LOGDIR):
            os.mkdir(_LOGDIR)
        return LOGFILENAME

    def createlogger(self,logfilename):
        logger= logging.getLogger()
        logger.setLevel(logging.INFO)
        handler = logging.FileHandler(logfilename)
        handler.setLevel(logging.INFO)
        formater = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
        handler.setFormatter(formater)
        logger.addHandler(handler)
        return logger

三、测试

  • 单独执行

  • 配合定时任务部署在服务器上
    使用Python2.7 ,建议使用centos7以上不用单独安装python,默认版本即可操作
    git clone https://github.com/redhatxl/my-python-code.git /usr/local/pythoncode

    配置好config.py中腾讯云平台的信息后(建议创建单个子用户,为子用户仅授权操作的cvm实例获取其secretid,secretkey),制作定时任务

  • 查看日志

原文地址:http://blog.51cto.com/kaliarch/2165000

时间: 2024-10-07 23:53:45

Python操作腾讯云CVM的相关文章

Python调用腾讯云短信接口

现在通过后台系统自动发短信的需求越来越多,主要用于验证码的发送或者项目监控异常时的报警提醒等等,由于之前有用到部分所以记录一下供以后使用.但是现在腾讯云的短信功能还在内测阶段,所以还有很多功能仍在Awaiting. 首先当然是登录腾讯云首页https://www.qcloud.com/product/sms.html点击“立即选购”后会跳出以下的页面: 由于是内测,所以点击“服务开通指南”,就会让你写封邮件给腾讯,把你的情况按照模板一五一十地balabala给他, 然后腾讯审核完之后终于可以使用

python操作mysql-通讯录

原文: http://lovelace.blog.51cto.com/1028430/1631831/

【腾讯云】CVM的功能和优势学习总结

腾讯云的功能与优势具有以下几个方面: 提供全面的服务 弹性的云端CVM的管理平台 可靠CVM 极速的CVM性能 多种解决方案来保证CVM和数据的安全 简单易用 多种计费模式,降低IT投入成本 腾讯云CVM提供了全方面的服务内容,具体为以下几类: 实现了多region多zone 覆盖的国内的节点有:华南.华东.华北 覆盖的国外的节点有:香港.新加坡.多伦多.硅谷 4类机型配置 标准型:可用于中小型WEB应用和数据库 高IO型:可用于低时延,I/O较大的应用 内存型:可用于对内操作.计算和查找存需求

从教务网爬虫程序到腾讯云上的运行

从教务网爬虫程序到腾讯云上的运行 主要内容有以下几方面: pip3以及相关python包的安装 mysql数据库的连接以及相关操作 腾讯云服务器的设置与连接,文件传输等操作 pip3以及相关python包的安装 在使用python3时,需要安装对应的pip版本,即pip3.ubuntu系统下的安装方式如下: $ sudo apt-get install python3-pip 安装完成后就可以使用pip3来安装相应的python包,如requests包的安装方式如下: $ sudo pip3 i

阿里云与腾讯云部分产品对比

云厂商 地区 网络 实例 系统 磁盘 公网带宽 包年 包月 阿里云ECS 华东 专有 系列II独享型sn1+8核32G windows server  2016数据中心版 64位中文版 SSD系统盘100G+SSD数据盘500G(包年包月可增4块数据盘,不可卸载) 固定带宽50Mbps 包年享优惠    1年57564.72元 1月5643.6元 腾讯云CVM 华东上海 -- 系列2高IO型8核32G windows 云硬盘600G 固定带宽50Mbps 包年享优惠    1年59839.68元

腾讯云服务器如何购买

介绍腾讯云服务器的购买租用价格,以及购买腾讯云服务器需要注意的问题. 首先打开腾讯云服务器官网购买地址 点击打开腾讯云服务器购买地址 打开后如下图 地域:让你选择腾讯云服务器所在的地理位置,保持默认就可以了,不用更改. 机型:默认是1核1GB(1核cpu 1内存),一般保持默认就可以了,如果你对腾讯云服务器的性能要求比较高,可选择高配置的1核2GB或2核4GB等等.配置越高,价格就越高.更改了默认的配置,在最下方的价格就会自动变化. 镜像:腾讯云服务器的操作系统.保持默认就可以了,默认的操作系统

腾讯云认证云从业者考试系列

本文列举腾讯云从业者认证的考试范围.知识点.分数比例.教程学习地址.一些官方资料文档. 目录 1,考核要求.知识点分布 2,课程大纲.分数值比例 3,学习路线 4,学习帮助 5,学习资源导航 6,腾讯云从业者认证 资料共享.例题分析.习题实战 考核要求 了解云计算相关的基本概念,理解云计算对业务的影响. 理解腾讯云提供的基础产品和服务的功能:云服务器,云网络,云CDN,云存储,云数据库,云安全. 了解腾讯云提供的基础产品和服务的灵活应用场景. 理解腾讯云提供的基础产品和服务的优势. 理解腾讯云基

腾讯云如何建站,利用腾讯云服务器建站流程介绍

腾讯云服务器买好之后,下一步我们就是建立自己的网站,对于一些小白用户来说,还不知道购买好腾讯云服务器之后,如何建立自己的网站,今天就介绍下利用腾讯云服务器建站流程: [腾讯云]云产品采购季,助力行业复工.1核2G云服务器,首年99元 https://cloud.tencent.com/act/cps/redirect?redirect=1053&cps_key=bc2a905407a3a1aaa9ff26fe9b78522f&from=console 首先我们登录腾讯云服务器控制台,可以通

我在腾讯云上买了太CVM服务器,来配置下外网如何访问MySql全程实录

1.服务器申请 最近在给一个小企业做个报价系统,C#WPF框架开发,桌面程序.由于用户可能经常出差,更换电脑,因此考虑将程序的数据库放到外网服务器上,每次程序使用需要登录验证,有点类似QQ的方法.这里有人说为什么不直接做成web,桌面应用已经落伍了.确实如此,原因主要是这个企业的报价系统的前端交互太多,一堆的javascript代码,还有一堆的word报表输入输出,做成web太过麻烦.因此还是决定做成桌面应用程序.由于访问量和并发性并不大,因此考虑性能一般的云服务器就可以了. 正好赶上腾讯活动,