• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
Python处理Ctrl+C

Python处理Ctrl+C

比如我现在有这么一个需求,我在一个方法中一直循环探测一个服务的连接数,当连接数为0时,就继续走下面的逻辑,比如关闭服务操作,以此来做 Java 平滑发布。伪代码如下: def fun(): while True: processlist = 'netstat -anplt | wc -l' ……

Python后台进程实现

Python后台进程实现

Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下……

Python处理SQL语句(提供SQL查询平台使用)

Python处理SQL语句(提供SQL查询平台使用)

在搞公司的SQL查询(MySQL)平台时,需要对用户查询SQL进行条数限制,默认是在配置文件中配置一个“limit = 1000”这样的参数。最自然想到的就是对用户通过web传入的SQL做处理,默认加上limit参数。这样一来就有这么几个问题需要处理: 1. 如果用户自己传入了limit 10这样的条件怎么办? 2. 如果用户自己传入了limit 10,2这……

Python把MySQL查询转为Insert语句

Python把MySQL查询转为Insert语句

下面贴出利用Python把MySQL查询结果转换为Insert语句,当然你使用一些客户端工具更方便了。但是有些需求没法使用工具搞了,比如我要把查询结果立马插入到另一个数据库中,并且查询结果中有些信息需要变更处理,这种使用脚本就很快了。 #!/usr/bin/env python # encoding: utf-8 # ……

Python字符串跟MySQL字符串比较

Python字符串跟MySQL字符串比较

学习Python和MySQL之后,发现很多相似之处,结果相同,但实现方式都不太一样。学习一门语言,一个数据库,字符串的处理都是一个相对重要的部分,所以我决定对比一下两者的差别。 下面的演示会一边Python,一边MySQL,所以按照这个思路来看就不会感觉突兀了。 1. 转义字符 >>> print '\\' ……

使用Python操作Zabbix Api

使用Python操作Zabbix Api

众所周知,zabbix是一款强大的分布式监控系统,集各家所长于一体,得到了广大SA的认可。其强大的管理界面也极其方便,但是美中不足的是,如果同时有大批量(50台+)的服务器需要添加监控时,这时,其图形界面反而显得有些臃肿了,好在zabbix提供了一套强大的API管理接口,我们可以使用它快速地添加或删除成千上万台服务器了。 下面的流程图代表了Zabbix AP……

Python环境及版本管理工具:virtualenv、virtualenvwrapper及pyenv

Python环境及版本管理工具:virtualenv、virtualenvwrapper及pyenv

一、virtualenv Python 的背后有着庞大的开源社区支持,但是有一个缺点就是每个包的质量都参差不齐,如果我们在工作服务器上去测试安装每个包,就会造成整个的服务器形成庞大复杂的第三方包依赖。virtualenv 是一个 Python 环境配置和切换的工具,可以用它配置多个 Python 运行环境,和系统中的 Python 环境隔离,即所谓的沙盒。使……

服务器巡检shell脚本,python生成excel文档并邮件发出

服务器巡检shell脚本,python生成excel文档并邮件发出

投稿:此篇文章由运维那点事用户@小番茄投稿! 背景及思路: 五一小长假之前,公司要求我做一次服务器巡检。 1、写了一个简单的脚本获取服务器的各种基础信息:cpu,内存,swap分区使用情况,磁盘,网卡信息种种,具体见脚本,将这些信息追加到一个文件中,然后在监控机上做一次汇总,汇总方式就不详谈,我用的是for循环ssh追加。 2、然后利用python的xlsx……

Python一句命令启动一个Web服务器

Python一句命令启动一个Web服务器

在工作中经常需要两个主机之间传输文件,最常用的就是scp了,当然也有rsync,rz,sz之类的命令了。即时传输还是有点麻烦,scp随简单但是需要对方的用户和权限。Python有一句命令启动一个web服务器(在要传输文件的当前目录开启),然后再对方服务器就可以直接使用wget命令下载文件了,很方便,经常使用。 利用Python自带的包可以建立简单的web服务……

三种web会话管理方式

三种web会话管理方式

三种会话管理方式介绍 http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的。当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端。所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用户发起的,从而判断他是否有权限继续这个请求。这个过……

Python包管理工具:setuptools和pip使用

Python包管理工具:setuptools和pip使用

一、Python包管理工具简介 1. setuptools setuptools 是管理 Python 第三方包的工具,默认将包安装到 site-package 下,安装的包后缀一般为 .egg,实际为 ZIP 格式。默认从 http://pypi.python.org/pypi 下载包,能够解决 Python 包的依赖关系;安装了 setuptools 之……

编程语言的发展过程

编程语言的发展过程

编写计算机程序所用的语言是人与计算机之间交换的工具,按语言对机器的依赖程度分为机器语言、汇编语言和高级语言。 ① 机器语言(Machine Language) 机器语言是面向机器的语言,每一个由机器语言所编写的程序只适用于某种特定类型的计算机,即指令代码通常随CPU型号的不同而不同。它可以被计算机硬件直接识别,不需要翻译。一句机器语言实际上就是一条机器指令,……