`
文章列表
今天帮运维的同学写了个用来检测远程服务器tcp端口的脚本,使用的是python的socket模块来做的,具体如下: #!/usr/bin/env python #coding:utf-8 #filename:tcp.py ''' author: gavingeng date: 2011-12-14 09:35:59 ''' import socket import sys NORMAL=0 ERROR=1 TIMEOUT=5 def ping(ip,port,timeout=TIMEOUT): try: cs=socket.socket(s ...

编译Tengine

download了下taobao开源的tengine,make时有2个error,不过修改objs/MakeFile配置文件,已编译成功,查看所增加的module,发现可真不少了,如下: root@ubuntu:/home/gavin/programs# /opt/tengine/sbin/nginx -V Tengine version: Tengine/1.2.0 (nginx/1.0.10) built by g ...

python logging模块

      最近,项目中经常有一些问题,所以需要写一些日志,来做后续的分析、处理,整理下python的logging模块   #!/usr/bin/env python #coding:utf-8 #author: gavingeng #date: 2011-12-03 13:55:56 import logging def initLogger(logname,filename): logger=logging.getLogger(logname)#生成一个日志对象,可以带一个名字,可以缺省 fs='%(asctime)s ...
  staticmethod 基本上和一个全局函数差不多,只不过可以通过类或类的实例对象(python里光说对象总是容易产生混淆, 因为什么都是对象,包括类,而实际上类实例对象才是对应静态语言中所谓对象的东西)来调用而已, 不会隐式地传入任何参数。这个和静态语言中的静态方法比较像。   classmethod 是和一个class相关的方法,可以通过类或类实例调用,并将该class对象(不是class的实例对象)隐式地 当作第一个参数传入。就这种方法可能会比较奇怪一点,不过只要你搞清楚了python里class也是个真实地 存在于内存中的对象,而不是静态语言中只存在于编译期间 ...
      在python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple,**kwargs表示关键字参数,为dict,使用时需将*arg放在**kwargs之前,否则会有“SyntaxError: non-keyword arg after keyword arg”的语法错误   def test(*arg,**kwargs): print arg print kwargs print "-------------------" if __name__=='__main__': ...

zcat日志

查看某个gz文件里面都有什么文件,而又不想解压缩的话,可以采用   zcat flie.tar.gz | cpio --list 

shell命令大全

这里先罗列出所有的shell命令,并没有去做文件操作命令、管理命令、网络命令等的区分,正在整理xmind,整理好之后,就会有一个详细的指导!   adduser   创建新的用户账户 alias    设置命令的别名 bzips    .bz2的文 ...

shell:wget

格式:wget [参数列表] URL   -r 递归的下载,可用于下载整个网站,同时包括网站上所链接到的地址也会去下载   -l number 指定下载的层次:只下载两层,那么使用-l 2   -m 制作映像站点。wget会自动判断合适的参数来制作映像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。   -c 当文档特别大或网络特别慢的时候,往往一个文档还没有下载完,连接就已被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数   -t number 重试次数 -t 0,那么表示无穷次重试,直到连 ...
shit! 装了个daily版本,赶紧卸载了! sudo add-apt-repository ppa:mozillateam/firefox-stable sudo apt-get update sudo apt-get upgrade
 现在也刚开始用到sqlite3的一些命令,整理下,做个笔记: 1) 创建数据库文件:    >sqlite3 index.db  就生成了一个index.db在当前目录。    sqlite3就可以使用index.db    2) .help可以查看帮助    >.help 回车即可    3) select * from user order by date desc limit 5; 遵循sql语法,跟其他的sql库一致 4) 看看有创建了多少表    >.tables    mysql用show tables; 5) 看表结构    >.sc ...
wikipedia中对于streaming media的介绍: http://zh.wikipedia.org/zh-hk/%E6%B5%81%E5%AA%92%E4%BD%93
      下午在做从跳板机到git服务器的配置时,在git服务器上操作授权校验文件时,cat文件做追加操作,结果敲的> ,然后回车就悲剧了,哎!瞬时石化了,悲剧了,备份也被我mv了..........       幸亏在另外一屏还有一些screen时的一些记录,无奈在screen中无法滚屏,赶紧拷贝,分析规律,幸亏还能找到每个人的pub key,我的神啊,赶紧执行脚本恢复吧!       如下: #!/bin/bash -x for file in `ls`: do name=`echo $file|sed -e 's/.pub//g'` content ...
      统计日志文件中每行所占的字节数大小     1. 生成一份日志文件     如下: #/bin/bash -x #generate log,then calc line/per size #fromat: date|random|md5sum #eg. 2011-11-17 10:10:20|18878|fc28cf992ab2b3b8a1f183105533eb26 FILE=`date +%Y%m%d%H%M%S` NUM=1000000 if [ -z $1 ];then ``>/dev/null else if ...
      服务器太多,而且都部署应用都一致,如果跑到每台机器上去执行一个crontab那就台费劲,这时可以从跳板机scp脚本到各个服务器去执行,比如做日志切割等,如下的脚本即类似     #/bin/bash -x #通过脚本来添加crontab脚本任务 #跳板机上的root用户 DIR_NAME=$HOME/bin FILE_NAME="rm_compile_file.sh" CONTENT="0 0 * * * $DIR_NAME/$FILE_NAME" date=`date -d "15 days ago ...
  有时候,在做一些压力测试的时候,我们需要发送一些一定大小的数据来做测试,比如1K的数据来做测试,但是如何才能知道自己发送的数据的大小呢,在C中比较多的是使用sizeof(xxx),在java中,之前有通过Runtime来获取系统内存,执行完语句之后,再通过Runtime来获取内存,做差求大小,这个大家可以通过google搜索查看,这里介绍的是sourceforge的SizeOf.java   1.下载 http://sourceforge.net/projects/sizeof/   2.编写测试,并设定vm,如下: -javaagent:"D:\projec ...
Global site tag (gtag.js) - Google Analytics