说到运维报警,我觉得都可以写个长篇历史来详细解释了报警的前世来生,比如最早报警都是用邮件,但邮件实时性不高,比如下班回家总不能人一直盯着邮箱吧,所以邮件这种报警方式不适合用来报紧急的故障,日常磁盘利用率监控什么的可以用它来报没问题,网站宕机不能访问这种故障,用它就明显不合适了,那对这种业务稳定性要求[……]
分类目录归档:Python
request模块报ssl connections to fail
今天在用request模块连接微信企业号接口时,运行报如下错误:
request appropriately and may cause certain ssl connections to fail.
最后用2条命令解决:
yum install python-devel lib[……]
python配置文件操作
在我们写一个功能性的python脚本时,有时需要读取一个配置文件,这个配置文件可以给用户自定义修改,以实现程序的最大灵活性,谈到配置文件的修改,这对我们运维人员来说都应该不陌生,不管你维护的是web站点还是游戏项目或其它,运维的工作估计很大部分是内容就是通过修改配置文件来完成的,如果任何修改都要改代[……]
python文件遍历
在linux系统下遍历文件不算是新鲜功能,如果给出一个目录,要根据这个目录的结构去做某些操作,这个就要到遍历了,谈到遍历就不能不说递归,因为遍历是递归的典型应用场景,那什么是递归?其实递归就是定义的函数又调用了自己,比如列出指定目录下的所有文件,如果这个目录下除了文件还有目录,就就需要再进入这个子目[……]
python实现txt转xls
前天看到后台有一兄弟发消息说目前自己有很多txt 文件,领导要转成xls文件,问用python怎么实现,我在后台简单回复了下,其实完成这个需求方法有很多,因为具体的txt格式不清楚,当然如果是有明确分隔符的会更好处理些,可以直接把txt文件转成csv文件,这样可以用excel打开后就是表格的样式了,[……]
如何给脚本写一个守护进程?
在我们日常运维中,写脚本监控一个进程是比较常见的操作,比如我要监控mysql进程是否消失,如果消失就重启mysql,用下面这段代码就可以实现:
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/sh Date=` date '+%c'` while : do if ! ps aux | grep -w mysqld | grep -v grep >/dev/null 2>&1 then /etc/init.d/mysqld start echo $Date mysqld was reboot >>/var/log/reboot_mysql.log fi done |
本篇这是以mysql为例子,但实际中如果是监控的脚本出了问题,报警没发出来,那就比较尴[……]
python获得系统iops
iops概念主要用在数据方面,这个指标是数据库性能评定的一个重要参考,iops的是每秒进行读写(I/O)操作的次数,主要看随机访问的性能,一般为了iops增高都要依靠磁盘阵列,实际线上的数据库基本都是raid10的配置,raid5在实际生产环境中如果压力上来是抗不住的,当然也要开具体业务压力情况,如[……]
python集合类型
有两个多行文件,其中一个包含另一个文件内容,现在的需求是要从大的文件里去掉包含行,问怎么破,这是今天一个技术群里有人问的问题,实现这个有其实有很多方法,我先给一个shell的解决方法,我们假设fileone.txt文件包含filetwo.txt内容,shell方法如下:
[crayon-68686[……]
python获取文件md5
每个公司对上线的业务要求都不一样,但对一些重要的文件,在线上覆盖前要全面检查文件的md5,所以这就要求获得更新前文件的md5值,然后跟研发提供的做比较,如果一致才更新,如果发现不对,就停止更新,当然逻辑都写在脚本里就可以了,因为每个公司线上服的更新逻辑都不一样,这块内容我们不做深入探讨,我们今天主要[……]
子类初始化父类的二种方法
类是面向对象编程中重要的概念,在大型项目中合理采用设计好的类,可以使系统逻辑更为清晰和健壮,在开发前期一般我们会设计一个或多个父类,设定好子类和父类的关系,其中很重要的就是父类初始化,所以今天我们来看看在子类中如何初始化父类和调用父类方法,只有了解了这些,你再看一些开源代码时才有头绪,否则双眼一抹黑[……]