使用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/

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

mysqld随Linux开机自动启动

2009-11-26 11:11  |  分类:MySQL,技术细节

在MySQL的管理过程中,偶尔会遇到一些PC Server宕机或者重启,这时我需要在主机启动后再将MySQL服务启动。一般情况下,这项工作都是简单的。但是,当面临上百台或者更多的MySQL主机的时候,这种“偶尔”可能会很多,这种“偶尔”还会在半夜或者凌晨发生,如果每次都手动操作,这是很繁琐的。更重要的是,如果因此而打断了凌晨的美梦是不值得的。

LinuxMySQL-2

全文阅读 »

迥异的Linux Shell Script

2009-09-17 15:44  |  分类:Linux,技术细节

作者:mail
摘要:如果你已经习惯编写Shell脚本,那么一切都显得很自然了。但像我这样,之前已经习惯了C语言(风格)的编程,就觉得Shell并不是那么友好。这里将记录一些Shell和"C风格"迥异的地方,以供参考。本文测试环境:GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)。文章中很多实例直接来在参考文件[1]、[2]。

Linux

全文阅读 »

innodb_flush_method 与 File I/O

2009-08-30 19:10  |  分类:技术细节

陶方在《innodb_flush_method带来的性能影响》中从实验角度比较了fdatasync,O_DSYNC和O_DIRECT在性能上的差异。本文将试图从Linux/Unix"文件I/O"(unbuffered I/O)的角度来解释innodb_flush_method是如何影响MySQL的I/O。【附录1】

innodb_flush_log_at_trx_commit参数确定日志文件何时write、flush。innodb_flush_method则确定日志及数据文件如何write、flush。在Linux下,innodb_flush_method可以取如下值:fdatasync, O_DSYNC, O_DIRECT,那这三个值分别是如何影响文件写入的?首先我们需要先来了解Linux的文件I/O是如何工作的。
全文阅读 »

Pages: Prev 1 2