python命令行闹钟脚本

超实用的报警脚本,这个脚本根据你设定的时间,到时会进行滴滴报警,主要应用场景是假设你在N分钟后有重要的事情要做(如妹子让你10分钟回电话),而你现在还命令行模式下(处理故障),你希望用最简单的方式到时能有提醒,那这个脚本就是为你准备的,本文原文是英文,我翻译了一小部分,文章末我给出了原文地址,以下是正文内容。

这个例子展示了怎样用python创建一个简单的报警,它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印”wake-up”消息,并响铃报警,你可以用0分钟来测试,它会立即执行,用扬声器控制面板调整声音。

以下是脚本:
[crayon-6872495b85fa26[……]

继续阅读

原创爆笑:开会

又到周末了,为轻松的过个周末,咱就不整那些烧脑的代码了,我们来讨论点轻松的话题,我们说说开会的一些趣闻。

首先,我们先谈谈在没有智能手机出现前,如果要你开一个漫长无趣的会议,你会怎么做,我猜测场景大概是这样的,领导在前面口如悬河的在讲话,离领导最近的同事,面带微笑的频频点头,心中却有想着中午吃什么,可能偶尔有几个草泥马在心中奔腾,距离领导远一点的,就复杂了,要么两眼发呆,脑袋早已被宇宙外星人带走,要么在想着周末去哪里玩,当然还是有认真的同事,拿个笔在本上画画,我最是佩服这种人,时间就是金钱的理解真是深入骨髓呀,有时我常常在想,这种会要是开多了,没准还真能培养出几个画家,我这再分享一个小故[……]

继续阅读

批量重载nginx配置

日常web维护中,修改nginx.conf配置文件是很正常的事,如果你只有几台,修改完直接reload重新加载配置就可以了,但是如果你维护多台nginx服务器(50+),要全部手工操作,那估计是手敲碎的节奏,所以要尽可能用自动化脚本来完成,今天我们就来分享一个完成批量配置文件加载脚本(在前人脚本上进行了修改,使变得更结构化和易读了),脚本的实现主要利用到了paramiko模块,脚本代码如下:

脚本解释,前几行定义了变量和要运行的命令,get_ip()函数得到要操作的ip列表,主函数中用循环在每台机器上执行cmd变量的命令,实[……]

继续阅读

python处理列表小技巧

在我们日常处理数据中,可能会经常出现将数据转变为列表形式,不过在转变的时候有时候因为数据的的问题,会在最终生成的数据中带有特殊字符,例如回车符等,我们看下这个例子,假设你生成一个嵌套列表,格式如下:

[[‘abc\n’],[cde\n],[def\n],………]

每个子列表中都带有回车符,如何将这些不需要的回车符删掉呢?

其实很简单,短短几行代码就可以实现,具体代码如下:

 

程序解释:enumerate()函数在遍历序列对象时,会得到序列元素的下标和元素,脚本外层循环得到mylist列表的[……]

继续阅读

什么是DevOps工程师?

本文原文是英文,个人翻译了一部分,有不对的地方还请多包涵,文章末我给出了原文地址,文章最后是2015-state-of-devops-report.pdf下载。

DevOps 是否能提高整个组织的效率,很大成功依靠IT领导。Read all about the state of DevOps today in the 2015 report.

现在对有DevOps技能的需求人增长迅速,因为企业从DevOps哪里获得了好的结果,拥用DevOps的企业都是高效的,他们部署代码比他们竞争公司频繁30倍,并减少了50%的部署失败,根据我们2013~2015的Devops状态报告(注:更新为最新[……]

继续阅读

python将目录压缩为zip格式

前几天搞数据备份,因为有windows系统和linux系统,为了备份的数据格式统一,就都把要备份的数据自动打包成zip文件了,这样在linux系统上也方便解压,之前用的rar格式,linux默认解压不了,比较麻烦,经过这么一折腾,就方便多了,用python实现目录的压缩,主要是用到了zipfile模块,来创建文件实例,然后写入文件名称,基本思路就是这个,我们来看代码:

我们来逐行解释,代码最开始几行是导入的需要的模块,再往下是定义了一个函数,cr_zip()函数接受两个参数,一个是压缩后的文件名称,一个是是要压缩的目录路径,[……]

继续阅读

python探测服务器端口连通性

现在有一个运维场景是这样的,一共有三台机器,其中的1台类似是另外两台的数据中传站角色,由于业务比较特殊,要求实时能够监控这几台机器的网络连通性,如果发现有问题,就及时报警,基于以上背景,刚开始打算用shell 和telnet来实现,发现不太好用,因为要处理telnet成功后退出的问题,最后还是用了python写了一个简单的脚本实现了该功能,为方便多次使用,做成了可配置的,自带配置文件,只要配置好需要测试的机器的IP和端口,就很方便测试,功能代码如下:

配置文件名称cfg.ini,格式为:
[crayon-6872495b8[……]

继续阅读

运维为什么应该学python?

上午我QQ的一个运维技术群不知道什么时候开始聊起作为运维人有没有必要再学习一门编程语言,学什么最好等,一开始开始我没看,没想到竟然在群里讨论了近2个小时,一般情况这种问题的都是运维新人,可能目前运维整体情况还不太了解,所以为了让更多的让新入行朋友不在迷茫,今天呢我就这个问题表达下我的看法。

我们先从第一个疑惑开始,那作为运维人员要不要学习一门编程语言?我给出的答案是:“如果不学习一门编程语言,再过2年你可能就得下岗”,我这绝不是危言耸听,不信你搜下现在对运维岗位的技能要求看看,但如果不够深刻,那接下里我们从现在运维的情况和未来运维的发展来分析下具体原因:

早些年的运维,基本是会部署[……]

继续阅读

python监控网站是否可访问

最近也不知道怎么回事,经常收到来自荷兰、瑞士那边的黑客攻击,搞得我博客经常打不开,更新个文章都更新不了,现在加了防火墙限制,基本没啥问题了,不过心情还是很不爽,想对各位hack说一句,拜托各位,没事别老搞攻击了,留着时间陪girl不好吗,如果真闲的蛋疼可以自己写几个牛X的软件造福造福社会,毕竟咱们都在一个地球上,何必呢,本是同根生,相煎何太急呀,Y的听过没?算了,这么复杂的逻辑,估计给你们翻译成法语、英语什么的,你们Y的也看不懂,事呢就是这么个事,虽然现在已修复,但还是担心网站会有突然打不开的情况,所以加个监控是必须的了(之前没加,真是把世界想的太美好了),从技术上看了几个方法,发现用pyth[……]

继续阅读

解析svn配置文件获取用户名称

最近要做一个账号管理系统后台,主要用于公司ftp和svn账号进行统一管理,因为随着业务的增多,业务线也都分的很明细,刚开始一台 svn服务器,到后来现在快数不清多少台服务器了,项目都想自己建立自己的代码库svn,可时间长了,慢慢发现,管理成本非常高,有时候一个用户,你猛一看,根本不知道它是哪个服务器上,如果用户不清楚了,慢慢的权限管理这块也是一团糟,因此公司有意将不同的svn服务器上用户和权限集中起来进行统一入库管理,其实就是做一个账号管理平台,方便对用户的查询,因为不同机器上的svn用户是动态的,所以账户库的信息也必是自动从服务器上抓取的,这就用到了我们后台的python脚本,实时解析svn[……]

继续阅读