日志分类:技术细节

使用getopts处理Shell脚本参数

2010-04-21 19:48  |  分类:技术细节

编写一个shell脚本,做一些事;改进这个脚本,更好做这件事;再改进这个脚本,帮自己做些其他的事情;再改进这个脚本帮助其他人做一些事……

简单的脚本处理,一般使用变量$0 $1 $2 …就可以依次获得全部参数,还可以通过$#获得这个脚本一共有多少个参数。如果你需要处理的情况(或者分支)更多的时候,这个方法就不凑效了,这时候,就可以考虑使用getopts了(man getopts)。 全文阅读 »

Linux iostat监测IO状态

2010-03-1 13:13  |  分类:Linux,技术细节

Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

1. 基本使用

$iostat -d -k 1 10

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。 全文阅读 »

Linux本地磁盘(硬盘)介绍

2010-02-24 20:05  |  分类:Linux,技术细节

本文试图从硬件结构、逻辑结构两方面来介绍Linux中本地磁盘的基本知识。

1. 硬件结构

一块磁盘由多个盘面组成,每个盘面有一个对应的磁头(heads),我们可以在该盘面上存储我们需要的信息。

每一个盘面,被分成多个圆环,我们称之为柱面(cylinders)。每一个柱面又被分割为多个扇形区域,简称扇区(sectors),参见下图:

磁盘扇区(图片来源www.eygle.com/

两个红色环形之间是一个柱面;图中黄色标记部分是一个扇区。 全文阅读 »

Linux下C语言连接MySQL

2010-01-26 19:21  |  分类:Linux,MySQL,技术细节

相对于Window下的设置,Linux要简单的很多。

1. 示例程序

$ vi mysql-c-api.c #include <stdio.h> #include "mysql/mysql.h" int main(){ MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_OPT_COMPRESS,0); mysql_options(&mysql,MYSQL_INIT_COMMAND,"SET autocommit=0"); if (!mysql_real_connect(&mysql,"10.2.3.4","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %sn", mysql_error(&mysql)); } return 0; }

2. 编译命令

在MySQL编译后的二进制文件中,有一个很有用的二进制文件“mysql_config”(一般和mysql命令在同一个目录下),我们可以通过这个程序找到需要的头文件和连接库:

$ gcc -o a.out $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs) $ ./a.out

Sphinx之配置篇

2010-01-7 20:33  |  分类:技术细节

作者:周振兴 mail
摘要:MySQL提供了LIKE子句可以很好的实现对数据库中数据的模糊搜索,使用LIKE很多时候可以帮助我们解决一些站内搜索的问题。但是随着MySQL中数据量逐渐增加,LIKE模糊查询的效率将成为MySQL数据库的主要压力。这时候尝试使用sphinx,可以很好的帮你解决这个问题。本文将继续介绍具体如何部署sphinx。在阅读本文前,建议先浏览sphinx使用介绍(前篇),或者跳过本文直接RTFM

全文阅读 »

php中session过期时间设置

2009-12-2 19:07  |  分类:技术细节

网上很多人给出了解答:修改php配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2)

概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这些session过期失效。 全文阅读 »

Pages: 1 2 3 Next