使用 Cognos 分析 nmon 采集的 AIX 性能数据
2010-08-26 00:00:00 来源:WEB开发网清单 1. 帮助信息函数
#Output helpful information regarding how to use the function and its parameters
# 用法
# -h 帮助信息
# -n 指定抽取数据的类别:CPU 或 DISK
# -f 指定 nmon 生成的输出文件
help() {
echo "usage: $0 [-h] -n <name> -f <filename>"
echo " -h FULL help information"
echo " -n Specify the name."
echo " Valid name are: CPU, DISK"
echo " -f Specify the nmon output file."
exit 0
}
第二步,对输入参数进行校验。包括校验输入的参数个数,输入的抽取数据类别,以及输入的 nmon 生成的数据文件名称等等。具体实现代码如下:
清单 2. 输入参数校验
if [ $# -eq 0 ]
then
help
fi
while getopts ":hf:n:" optchar ; do
case $optchar in
f) filename=$OPTARG
;;
n) name=$OPTARG
;;
h) help
;;
*) error "Invalid option"
;;
esac
done
# Ensure that we got a name
# 确保输入的抽取数据类别名不为空
if [ "${name}" == "" ] ; then
error "No name specified"
fi
# Ensure that we got a filename
# 确保输入的 nmon 输出文件名不为空
if [ "${filename}" == "" ] ; then
error "No filename specified"
fi
# Ensure that the input file existed
# 确保输入的 nmon 输出文件存在
if [ ! -f $filename ] ; then
error "$filename does not exist!"
fi
if [ -z $filename ] ; then
error "$filename file size is zero"
fi
if (test ! -r $filename ) ; then
error "Cannot read file $filename"
fi
# Validate the name as one of the names allowable
# 校验输入的抽取数据类别名
case "$name" in
"CPU" )
outputname=${filename}_${name}."csv"
echo $outputname
echo "CPU,seq,Edate,Etime,User%,Sys%,Wait%,Idle%" > ${outputname}
;;
"DISK" )
outputname=${filename}_${name}."csv"
echo $outputname
> ${outputname}
;;
"" )
error "No name provided"
;;
*) error "Invalid name provided"
;;
esac
更多精彩
赞助商链接