urchin的安装及使用

Urchin是google收购的一个日志分析工具。界面跟google analytics是几乎完全一样的。但是google analytics每个月的统计只能在500W PV以内,这个对于稍微有点规模的网站是不可忍受的。所以我们还是需要自己来架设一个urchin 首先需要下载一个urchin6600_linux2.6_kernel.tar.gz 这个是根据自己monitor的系统版本来进行确定的。然后还需要有一个mysql或者postgresql 创建相应的数据库和数据库用户。这里数据库名为urchin,数据库账户为urchin,urchin的账户密码为urchinapassword, urchin账户拥有urchin库的all权限。

root@urchin# mysql -u root -p
mysql> create database urchin character set utf8;
mysql> GRANT ALL ON urchin.* to 'urchin'@'localhost' IDENTIFIED BY 'urchinpassword';

接着使用程序目录下的install.sh脚本进行安装,这里主要是选择安装目录,数据库配置连接等等。

./install.sh

安装时,如果MYSQL Server为localhost时,SQL Socket path路径可能为/var/lib/mysql/mysql.sock 、/tmp/mysql.sock 根据实际情况填写。如果MYSQL Server为远程服务器,填写地址后,则需填写SQL Port。

安装完成后就可以通过下列网址查看urchin。

http://yourserver:9999

修改admin用户的密码,默认密码为:urchin

/usr/local/urchin/util/uconf-manager table=uusers action=update ucus_name="admin" ucus_password="123456" key1=ucus_name print=status
这里是把admin用户的密码设置为123456

这样我们就能通过上面的网站看到urchin的界面了。

其他配置:

首先需要一个域名下放置urchin.js这个js代码。这个代码需要修改如下部分。

//-- UTM User Settings
var _udn="micronsky.com"; //这个是你网站一级目录
var _ugifpath="http://track.micronsky.com/__utm.gif"; //__utm.gif的地址

track.micronsky.com 这个最好是独立的域名,这样urchin就不会分析这个域名内其他不相关的日志了。

__utm.gif和urchin.js都在安装文件中存在,根据上面的建议进行修改和放置。

PS:如果你希望直接放在当前域名下,需要apache对于gif这类请求只记录__utm.gif,配置时加上 SetEnvIf Request_URI “^((?!__utm).)*\.gif$” dontlog ,当前当前域名don’t log所配置的内容。

关于日志配置:

默认nginx的日志格式,urchin是无法进行分析的。还必须要做相应的修改后urchin才能进行分析。
log_format urchin '$remote_addr $http_host - [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_cookie"';

默认Apache的日志格式,需要在LogFormat中再添加一中格式定义,或者在原有的combined格式中追加%{Cookie}i 。
LogFormat "%h %v %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" urchin

新建配置:

Urchin默认是英文界面,可以在显示中选择中文。基本设置如下:

urchin的原理:就是在所有的页面都会嵌入这个urchin.js来访问那个__utm.gif图片,通过这个来收集用户本地的相关信息来记录到gif图片域名下的日志中,然后urchin就来分析这个日志,所以这个分析结果的内容会比一般的多。

Urchin 参数

Add comment 七月 18th, 2009 东木

Google Analytics 原理与实例分析[zt]

最近在做Web统计相关的工作,在查资料的同时,顺手找到了GA的原理分析:)

# 发统计包

GET http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=1261523910&utmcs=gb2312&utmsr=1400×1050&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=-&utmhn=www.mydll.com&utmr=-&utmp=/gg.htm&utmac=UA-2789145-1&utmcc=__utma%3D251296922.1430927915.1192194210.1192194210.1192194210.1%3B%2B__utmb%3D251296922%3B%2B__utmc%3D251296922%3B%2B__utmz%3D251296922.1192194210.1.1.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B HTTP/1.1
Accept: */*
Referer: http://www.mydll.com/gg.htm
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Connection: Keep-Alive
Host: www.google-analytics.com
Pragma: no-cache

HTTP/1.1 200 OK
Pragma: no-cache
Cache-Control: private, no-cache, no-cache=”Set-Cookie”, proxy-revalidate
Expires: Fri, 04 Aug 1978 12:00:00 GMT
Content-Type: image/gif
Server: ucfe
Content-Length: 35
Date: Fri, 12 Oct 2007 13:04:04 GMT
Via: 1.1 HttpSpy

# 发出统计的请求详细分析

http://www.google-analytics.com/__utm.gif?

utmwv=1& # 常量 1
utmn=1261523910& # Math.round(Math.random()*2147483647);
utmcs=gb2312& # charset
utmsr=1400×1050& # screen
utmsc=32-bit& # screen.colorDepth
utmul=en-us& # navigator.language.toLowerCase();
utmje=1& # navigator.javaEnabled() ? 1 : 0;
utmfl=-& # _uFlash
utmhn=www.mydll.com& # JsUrlEncode(location.hostname)
utmr=-& # document.referrer
utmp=/gg.htm& # location.pathname+location.search; 或者优先是 用户输入的 page 页面
utmac=UA-2789145-1& # 站点ID,用户输入的 _uacct = “UA-2789145-1″;
utmcc=__utma%3D251296922.1430927915.1192194210.1192194210.1192194210.1%3B%2B__utmb%3D251296922%3B%2B__utmc%3D251296922%3B%2B__utmz%3D251296922.1192194210.1.1.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B
utmcc=__utma=251296922.1430927915.1192194210.1192194210.1192194210.1;+__utmb=251296922;+__utmc=251296922;+__utmz=251296922.1192194210.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none);+
utmcc=
__utma=251296922.1430927915.1192194210.1192194210.1192194210.1;+
__utmb=251296922;+
__utmc=251296922;+
__utmz=251296922.1192194210.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none);+
其中的 251296922 是根据当前页面的根域名计算出来的 HASH 值,例如本次请求是用 mydll.com 计算出来的值 251296922
__utma 的第二个数值 1430927915 是随机数字,用函数 Math.round(Math.random()*2147483647) 生成出来的
__utma 的第三、四、五个数值 1192194210 是随机数字,是用函数 _ust=Math.round((new Date()).getTime()/1000); 计算出来的
__utma 的第六个数值 1 是固定的常量
__utmz 的第一个数是域名的 HASH 值
__utmz 的第二个数值 1192194210 是随机数字,是用函数 _ust=Math.round((new Date()).getTime()/1000); 计算出来的
__utmz 的第三个数值 1 其实就是 __utma 的第六个固定常量
__utmz 的第四个数值 1 在第一次请求的时候是 1,我们就暂时不考虑第二次的请求
__utmz 的最后一个参数 utmccn=(direct)|utmcsr=(direct)|utmcmd=(none) 是表示来源等信息,默认就是这个

当链接是从其他网站点入时,其 __utmz 参数如下:
__utmz=251296922.1192220231.1.1.utmccn=(referral)|utmcsr=yx8.com|utmcct=/temp/togg.html|utmcmd=referral;+
utmccn – 的值表示有来源
utmcsr – 表示来源的跟域名
utmcct – 表示来源页面的 PATH
utmcmd – 表示一个命令好像,这里设置了 referral,可能是为了配合签名的

# 外部链接导入包

GET http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=1389663121&utmcs=gb2312&utmsr=1400×1050&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=-&utmcn=1&utmhn=www.mydll.com&utmr=http://www.yx8.com/temp/togg.html&utmp=/gg.htm&utmac=UA-2789145-1&utmcc=__utma%3D251296922.1389663121.1192220231.1192220231.1192220231.1%3B%2B__utmb%3D251296922%3B%2B__utmc%3D251296922%3B%2B__utmz%3D251296922.1192220231.1.1.utmccn%3D(referral)%7Cutmcsr%3Dyx8.com%7Cutmcct%3D%2Ftemp%2Ftogg.html%7Cutmcmd%3Dreferral%3B%2B HTTP/1.1
Accept: */*
Referer: http://www.mydll.com/gg.htm
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Connection: Keep-Alive
Host: www.google-analytics.com

HTTP/1.1 200 OK
Pragma: no-cache
Cache-Control: private, no-cache, no-cache=”Set-Cookie”, proxy-revalidate
Expires: Fri, 04 Aug 1978 12:00:00 GMT
Content-Type: image/gif
Server: ucfe
Content-Length: 35
Date: Fri, 12 Oct 2007 20:17:14 GMT
Via: 1.1 HttpSpy

# 参数分析

http://www.google-analytics.com/__utm.gif?

utmwv=1&
utmn=1389663121&
utmcs=gb2312&
utmsr=1400×1050&
utmsc=32-bit&
utmul=en-us&
utmje=1&
utmfl=-&
utmcn=1&
utmhn=www.mydll.com&
utmr=http://www.yx8.com/temp/togg.html&
utmp=/gg.htm&
utmac=UA-2789145-1&
utmcc=__utma%3D251296922.1389663121.1192220231.1192220231.1192220231.1%3B%2B__utmb%3D251296922%3B%2B__utmc%3D251296922%3B%2B__utmz%3D251296922.1192220231.1.1.utmccn%3D(referral)%7Cutmcsr%3Dyx8.com%7Cutmcct%3D%2Ftemp%2Ftogg.html%7Cutmcmd%3Dreferral%3B%2B
utmcc=__utma=251296922.1389663121.1192220231.1192220231.1192220231.1;+__utmb=251296922;+__utmc=251296922;+__utmz=251296922.1192220231.1.1.utmccn=(referral)|utmcsr=yx8.com|utmcct=/temp/togg.html|utmcmd=referral;+
utmcc=
__utma=251296922.1389663121.1192220231.1192220231.1192220231.1;+
__utmb=251296922;+
__utmc=251296922;+
__utmz=251296922.1192220231.1.1.utmccn=(referral)|utmcsr=yx8.com|utmcct=/temp/togg.html|utmcmd=referral;+

# 再次刷新页面时发现 Cookie 已经设置上

GET http://www.mydll.com/51la.htm HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: www.mydll.com
Connection: Keep-Alive
Cookie: __utma=251296922.1389663121.1192220231.1192220231.1192220231.1; __utmb=251296922; __utmc=251296922; __utmz=251296922.1192220231.1.1.utmccn=(referral)|utmcsr=yx8.com|utmcct=/temp/togg.html|utmcmd=referral

Add comment 七月 13th, 2009 东木

一个很有用的apache指令SetEnvIf

SetEnv 指令

说明 设置环境变量
语法 SetEnv env-variable value

SetEnvIf 指令

说明 根据客户端请求属性设置环境变量
语法 SetEnvIf attribute regex [!]env-variable[=value] [[!]env-variable[=value]] ...
作用域 server config, virtual host, directory, .htaccess

SetEnvIf指令根据客户端的请求属性设置环境变量。第一个参数attribute必须是下列三种类别之一:

  1. 一个HTTP请求头域(参见RFC2616);例如:Host, User-Agent, Referer, Accept-Language 。可以用一个正则表达式来进行匹配。
  2. 下列请求属性之一:
    • Remote_Host 远程主机名(若可用)
    • Remote_Addr 远程主机IP地址
    • Server_Addr 接收到请求的服务器IP地址(2.0.43及以后版本)
    • Request_Method 所用的请求方法(GET, POST等等)
    • Request_Protocol 请求所使用的协议及其版本(“HTTP/0.9″, “HTTP/1.0″, “HTTP/1.1″等)
    • Request_URI 在HTTP请求行中请求的资源(通常是URL中去除协议、主机以及查询字符串后剩余的部分)。
  3. 列出的与该请求关联的环境变量名字中的一个。这将允许SetEnvIf指令基于预先匹配的结果进行测试。只有那些由较早的SetEnvIf[NoCase]指令定义的环境变量才可以按照这种方式测试。”较早的”意思是它们在更上层的作用域(比如全局范围)中被定义或者在同一作用域中较早出现。只有在请求的属性未能得到匹配并且attribute没有使用正则表达式的时候,环境变量才会被考虑。

如:不记录192.168.7.139的访问日志
首先设置环境变量 SetEnvIf Remote_Addr “192\.168\.7\.139″ dontlog
使用上面设置的环境变量
CustomLog “logs/access_log” common env=!dontlog

SetEnvIfNoCase
说明: Sets environment variables based on attributes of the request without respect to case
语法: SetEnvIfNoCase attribute regex [!]env-variable[=value] [[!]env-variable[=value]] …
上下文: 服务器配置, 虚拟主机, 目录, .htaccess
覆盖项: FileInfo
状态: Base
模块: mod_setenvif
兼容性: Apache 1.3 and above

The SetEnvIfNoCase is semantically identical to the SetEnvIf directive, and differs only in that the regular expression matching is performed in a case-insensitive manner. For example:
SetEnvIfNoCase Host Apache\.Org site=apache
This will cause the site environment variable to be set to “apache” if the HTTP request header field Host: was included and contained Apache.Org, apache.org, or any other combination.
SetEnvIfNoCase 当满足某个条件时,为变量赋值,一般结合其他指令使用。
如:
1。SetEnvIf Request_URI “/logo(.)+” local_ref=0
Allow from env=local_ref  当local_ref有值时,可以访问。
2。SetEnvIfNoCase Request_URI .js$ useless-file
CustomLog logs/hebgc.com/access.log combined env=!useless-file
当满足条件时才记录日志。

Add comment 七月 9th, 2009 东木

VirtualBox 使用主机网络上网的配置[zt]

当VirtualBox 2.1.4升级到2.2.0以后,突然发现虚拟的系统无法使用主机的网络上网了,google了一下,发现很多人碰到这个问题,但没有解决办法,甚至有人认为是VirtualBox的Bug,其实不然。
经过研究发现,2.2.0缺省的不再是Bridge Network方式了,改为NAT,那么我们自己将网络修改回原来2.1.4的桥接方式就可以了。

1 首先,用鼠标右键点击“网上邻居”,选择“属性”;

图1

2 右键选择VirtualBox的host-only网络链接,选择“属性”;

图2

3 缺省的,“VirtualBox Bridged Networking Driver”是没有选中的,选中它,点击“确定”。这时候,会提示安装网络设备;

图3

4 不要管提示的内容,点击“仍然继续”。完成后,VirtualBox网络连接重新获取IP地址,图表显示为图4

5 启动VirtualBox,右键选择要修改的虚拟系统,并点击“设置”。

图5

6 点击左侧列表中的“网络”选项,可以看到“连接方式”的下拉列表里有好几个选项,默认是NAT,将之改为“Bridge Network”,并点击后面的螺丝刀图标;

图6

7 新弹出“桥接网络详情”窗口,如下:

图7

选择你的本地网络的网卡名称,我的是“Intel(R) 82566DM-2 Gigabit Network Connection”,你的可能不同,记住,不是“VirtualBox Host-only Ethernet Adapter”;如果下面的“Guest MAC Address”为空,点击后面的刷新按钮,随机指定一个MAC地址,点击“OK”按钮即可。

8 点击“<虚拟机系统名> 设置”窗口的“OK”按钮,以保存配置,启动虚拟操作系统,看看是不是可以上网了?

Add comment 七月 3rd, 2009 东木

解决IBM ThinkPad HOTKEY在WIN7 中音量无法显示的问题

其他功能均正常,但音量和亮度的调节无法正常使用,事实上并不是IBM自带HOTKEY的问题,只要安装Lenovo System Interface驱动程序即可,无论音量调节或屏幕亮度全部正常使用

ThinkPad — Lenovo System Interface驱动程序 (Windows Vista/XP) 下载地址:

当前版本号:1.01.0805

发布时间:2009-6-22

http://think.lenovo.com.cn/support/driver/detail.aspx?docID=DR1217231721126&docTypeID=DOC_TYPE_DRIVER

Add comment 七月 3rd, 2009 东木

Linux下查看apache连接数

Linux命令:

ps -ef | grep httpd | wc -l

查看Apache的并发请求数及其TCP连接状态:

Linux命令:

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

返回结果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057

说明:  
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数。

Add comment 五月 2nd, 2009 东木

批处理隐藏运行的10种思路[zt]

1.基础

HideRun.vbs
——————————————————————————–
CreateObject(“WScript.Shell”).Run “cmd /cD:\test.bat”,0
其中D:\test.bat是你的批处理路径

HideRun.bat
——————————————————————————–
echo CreateObject(“WScript.Shell”).Run “cmd /cD:\test.bat”,0>$tmp.vbs
cscript.exe /e:vbscript $tmp.vbs
del $tmp.vbs
这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。

HideRun.js
——————————————————————————–
new ActiveXObject(‘WScript.Shell’).Run(‘cmd /cD:\Test.bat’,0);
用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法必须用括号,结尾必须有分号。所以就成了下面的命令:
——————————————————————————–
mshta “javascript:new ActiveXObject(‘WScript.Shell’).Run(‘cmd /cD:\test.bat’,0);window.close()”

2.用快捷方式

如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个vbs出来)

3.利用系统服务

可以用sc建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限
查考这个帖子,
http://www.cn-dos.net/forum/view … =%E6%9C%8D%E5%8A%A1
asbai 兄的大作,极大的方便了我们的使用。
CODE: [Copy to clipboard]
——————————————————————————–

runassrv add /cmdline:”C:\Windows\System32\cmd.exe /cD:\test.bat” /name:”mysrv”
net start mysrv
4.利用at计划任务

用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。但是建使用at必须有管理员权限
CODE: [Copy to clipboard]
——————————————————————————–

at 09:10 “cmd /cD:\Test.bat”
然后在 9:10 系统就会自动后台以SYSTEM权限运行这个bat

5.利用ftype文件关联

综合上面的技术,使所有批处理都隐藏运行
CODE: [Copy to clipboard]
——————————————————————————–

ftype batfile=C:\Windows\System32\mshta “javascript:new ActiveXObject(‘WScript.Shell’).Run(‘cmd /c%1′,0);window.close();”
大家可以讨论下下面的思路,目前没有明确的方法,但是理论上是可行的

6.rundll32

其实这个方法只是理论上估计的,这里提出来占个位置,留个记号,等待高手研究
rundll32可以调用 dll 里的API,如果有个dll可以隐藏run一个exe就可以实现隐藏启动批处理,呵呵。目前我也没找到方法。

7.其他用户

Windows 2k/XP支持多用户,如果能在后台登陆另一个账户的桌面然后运行一个批处理,就能完全达到隐藏的目的

8.bat2vbs

这个方法只是一个不是很成熟的思路。
查考这个帖子:
http://www.cn-dos.net/forum/view … p;highlight=exe2bat
这使我们产生了一个想法:把bat转换成vbs,然后vbs生成一个临时bat文件,然后WScript.Shell.Run隐藏启动这个临时bat

9. .NET编译

参考这个帖子:
http://www.cn-dos.net/forum/view … hlight=script%2Bnet
里面提到了一个 .NET Warpper,我们完全可以利用系统自带的组件把bat编译到 exe 当中。如果bat不涉及交互,exe自然就安静的运行了。

10.注入汇编

最后向大家推出的今天最隆重的,ASCII Assembly Code专家 Herbert Kleebauer 的又一力作:showwin.exe

Quote:
showwin.exe let you minimize/maximize/hide the command window
within a batch program (requires W2k or better).

Usage: showwin.exe number

0 SW_HIDE
Hides the window and activates another window.

1 SW_SHOWNORMAL
Activates and displays a window. If the window is minimized or maximized,
the system restores it to its original size and position. An application
should specify this flag when displaying the window for the first time.

2 SW_SHOWMINIMIZED
Activates the window and displays it as a minimized window.

3 SW_MAXIMIZE
Maximizes the specified window.

3 SW_SHOWMAXIMIZED
Activates the window and displays it as a maximized window.

4 SW_SHOWNOACTIVATE
Displays a window in its most recent size and position. This value is
similar to SW_SHOWNORMAL, except the window is not actived.

5 SW_SHOW
Activates the window and displays it in its current size and position.

6 SW_MINIMIZE
Minimizes the specified window and activates the next top-level window
in the Z order.

7 SW_SHOWMINNOACTIVE
Displays the window as a minimized window. This value is similar to
SW_SHOWMINIMIZED, except the window is not activated.

8 SW_SHOWNA
Displays the window in its current size and position. This value is
similar to SW_SHOW, except the window is not activated.

9 SW_RESTORE
Activates and displays the window. If the window is minimized or maximized,
the system restores it to its original size and position. An application
should specify this flag when restoring a minimized window.

10 SW_SHOWDEFAULT
Sets the show state based on the SW_ value specified in the STARTUPINFO
structure passed to the CreateProcess function by the program that
started the application.

11 SW_FORCEMINIMIZE
Windows 2000/XP: Minimizes a window, even if the thread that owns the
window is not responding. This flag should only be used when minimizing
windows from a different thread.

—————————————————————————

A simple example:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:
@echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>showwin.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>showwin.com
echo T}{zE~@gwkBG@OEKcUt`E}@mqqBsy?seHBEaPhxr?@zAB`LrPEyoDt@Cj?>>showwin.com
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>showwin.com
echo FEvAUSQ?_YLTQ@@?~QCo_F~RDU@?aU?@MQ_AMy1GHs?Gw`LbLK@shM`S_d>>showwin.com
echo bD_nsDddlTr_sPdlnTcnaTv_xP_ngD_rhDhsrT_kkDhrtT_fmDRNCTILk?>>showwin.com
echo staThg_So_rPfnqTl`qTdq_ShtpTrdqThV_Sqrm@ILm?O?cOKFDP?@@?dx>>showwin.com
echo OdFUu?N?_B@J@??KD?HUA?QOGB_QO?F?SCAQO?UDF?UCE?Q_F?DUA?CUB?>>showwin.com
echo OFO?FOS?DUO?IUO?FOW?RU{OWFO?mYU?wdsTeQs@OQ@?QAQ?LUA?_F_og~>>showwin.com
echo UODUO?FOSAFOeAUOyAO_DCSHUOOQO?OCFGuHUOGFO?TUO?DRTTqrQ@kcmS>>showwin.com
echo gFkPFUO?ngRThVvTncmTJFvPMQDTrKDDcmqOFkkDFOSAFOeAUOyAdFFSnB>>showwin.com
echo sT`llTKcmTdmhTFQ@PBsdTrmnTdknTmhVTvncTwDSSOshTbnqTrrdTT~?K>>showwin.com
echo ?OGOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\=upkNQD??OuQsQG[i?>>showwin.com
echo RwrqosHy?Mjmv\@IuBlpUrHdjNAslF~mH}OKT?U??PT~OL?O?O?i?COT~B>>showwin.com
echo U?OCU?YF0x>>showwin.com

showwin.com>showwin.exe
del showwin.com

dir

:: wait 4 seconds
ping -n 4 localhost >nul

:: hide window
showwin.exe 0

dir /b

:: wait 4 seconds
ping -n 4 localhost >nul

:: show window
showwin.exe 5

:: wait 4 seconds
ping -n 4 localhost >nul

del showwin.exe

Add comment 四月 19th, 2009 东木

删除MYSQl BIN-LOG 日志[zt]

想要恢愎数据库以前的资料,执行:show binlog events;屏幕就开始闪,闪的人眼花,心里烦(那有这么多没有用的破LOG^0^),还是删除一些去吧!

1.列出当前的binlog文件

mysql> show binary logs;

+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000001 | 150462942 |
| ablelee.000002 | 125 |
| ablelee.000003 | 106 |
+—————-+———–+

2.删除bin-log(删除ablelee.000003之前的而没有包含ablelee.000003)

mysql> purge binary logs to ‘ablelee.000003′;
Query OK, 0 rows affected (0.16 sec)

3. 查询结果(现在只有一条记录了.)
mysql> show binlog events\G

*************************** 1. row ***************************
Log_name: ablelee.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4

1 row in set (0.01 sec)

(ablelee.000001和ablelee.000002已被删除)

mysql> show binary logs;

+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000003 | 106 |
+—————-+———–+

1 row in set (0.00 sec)

(删除的其它格式运用!)

PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

  用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
  例如:
  PURGE MASTER LOGS TO ‘mysql-bin.010′;
  PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00′;
清除3天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
  BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
  如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
  要清理日志,需按照以下步骤:
  1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
  2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
  3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
  4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
  5. 清理所有的日志,但是不包括目标日志我。

Add comment 四月 19th, 2009 东木

一个用于SQL Server 正则替换的函数

create function dbo.regexReplace
(
@source varchar(5000), 原字符串
@regexp varchar(1000), 正則表換式
@replace varchar(1000), 替換值
@globalReplace bit = 0, 是否是全局替換
@ignoreCase bit = 0 是否忽略大小寫
)
returnS varchar(1000) AS
begin
declare @hr integer
declare @objRegExp integer
declare @result varchar(5000)

exec @hr = sp_OACreate VBScript.RegExp, @objRegExp OUTPUT
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, Pattern, @regexp
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, Global, @globalReplace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OASetProperty @objRegExp, IgnoreCase, @ignoreCase
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OAMethod @objRegExp, Replace, @result OUTPUT, @source, @replace
IF @hr <> 0 begin
exec @hr = sp_OADestroy @objRegExp
return null
end
exec @hr = sp_OADestroy @objRegExp
IF @hr <> 0 begin
return null
end

return @result
end
GO

Add comment 四月 4th, 2009 东木

perl处理UTF-8编码,对URL地址进行编码

首先进行声明
use Encode;
gbk转uft-8:
$line = encode(“utf-8″,decode(“gbk”,$line));

$line = encode_utf8(decode(“gbk”,$line));
utf-8转gbk:
$line = encode(“gbk”, decode(“utf8″, $line));
uft-8转gb2312:
$line = encode(“gb2312″, decode(“utf8″, $line));

测试可用!by:Neeao

Continue Reading Add comment 十二月 14th, 2008 东木

Linux系统下处理从GB2312到UTF-8的转换

UTF-8 这种编码已经是大势所趋,但是还有不少中文的文档保留着老式的 GB2312编码,而且只要你要和 Windows 打交道,就免不了要处理 GB2312 的问题,比如处理从 Windows 下拷过来的程序源代码、文本文件、字母文件之类。

编码转换的方法估计大多数同学都知道了,不过还是有必要再强调一下,我就是老忘。

Linux 下的 iconv 命令可以来处理字符编码的转换,基本命令格式如下:

iconv -f 原始编码 -t 目标编码 文件名 > 新文件名

-f 代表 from,-t 代表 to。

Continue Reading Add comment 十二月 14th, 2008 东木

mysqldump导出sql中insert语句的问题

mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示:
[zzx@localhost ~]$ mysqldump –compact -uroot test t1> a
[zzx@localhost ~]$ more a
CREATE TABLE `t1` (
`id` int(10) default NULL,
UNIQUE KEY `idx_1` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

Continue Reading Add comment 十一月 27th, 2008 东木

awk输出时不换行

1.输出时使用printf
2.输出后,利用tr -d ‘n’实现替换换行
3.awk ‘BEGIN{ORS=”"}{print $0;}’ //推荐
4.awk ‘{printf(“%s”,$0);}’

Continue Reading Add comment 十一月 26th, 2008 东木

Linux下调节进程优先级

命令:

nice(1): 以指定优先级运行程序
nice [OPTION] [COMMAND [ARG]…]
nice –n 1 ls

renice(8): 调整运行进程的优先级
renice priority [[-p] pid …] [[-g] pgrp …] [[-u] user …]
renice +1 987 -u daemon root -p 32

API:
nice(2): 改变进程优先级

Continue Reading Add comment 十一月 26th, 2008 东木

FileZilla Server虚拟路径设定

不用还不知道,原来设定filezilla的虚拟路径还有语法。关键处解决了,设定就简单多了。

方法如下:按下filezilla server的「edit」下拉选单选择「user」,进入user窗口之后,找到「shared folders」。设定好主要的目录(home dir)后,就可以设定其它次要的目录。

设定其它目录的方法如下,首先点选「Add」键,依次把其余的目录设置。但要注意的是,如果仅仅

Continue Reading Add comment 十一月 22nd, 2008 东木

3 of 1312345...Last»

 

2010年三月
« 二    
1234567
891011121314
15161718192021
22232425262728
293031  

分类目录

标签

书签 优化 参数 命令 啪嗒砰 域名 备份 字体 安装 导入 导出 扩展 换行 文字 正则 爬虫 解决办法 路径 道具 错误 镜像 19楼 Apache awk AWstats CentOS CPAN EditPlus Firefox GD GeoIP Google IBM Linux mysql OUTLOOK Patapon perl photoshop PHP profile rsync sed Shell Thunderbird

最近文章

最近评论

文章索引模板

功能

SEO Powered by Platinum SEO from Techblissonline