- 浏览: 234500 次
- 性别:
- 来自: 北京
-
最新评论
-
prayjourney:
不错
python中staticmethod classmethod及普通函数的区别 -
di1984HIT:
写的真好。
shell切分文件 -
di1984HIT:
不错,不错
hadoop wordcount练习 -
di1984HIT:
写的不错。
python检测远程tcp端口 -
di1984HIT:
不错。学习了
python使用简单http协议来传送文件
文章列表
python检测远程tcp端口
- 博客分类:
- python
今天帮运维的同学写了个用来检测远程服务器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 ...
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
最近,项目中经常有一些问题,所以需要写一些日志,来做后续的分析、处理,整理下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中的*arg **kwargs
- 博客分类:
- python
在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__':
...
查看某个gz文件里面都有什么文件,而又不想解压缩的话,可以采用
zcat flie.tar.gz | cpio --list
这里先罗列出所有的shell命令,并没有去做文件操作命令、管理命令、网络命令等的区分,正在整理xmind,整理好之后,就会有一个详细的指导!
adduser 创建新的用户账户
alias 设置命令的别名
bzips .bz2的文 ...
shell:wget
- 博客分类:
- shell
格式: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的ssh授权校验被覆盖
- 博客分类:
- shell
下午在做从跳板机到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 ...
统计日志文件中每行大小
- 博客分类:
- shell
统计日志文件中每行所占的字节数大小
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任务到各个服务器
- 博客分类:
- shell
服务器太多,而且都部署应用都一致,如果跑到每台机器上去执行一个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 ...