分类: Oracle
2008-10-11 14:52:25
4. 创建get_vmstat.ksh脚本
改脚本用于定时执行vmstat命令并且将结果存入数据库。
|
5. 创建run_vmstat.ksh脚本
该脚本放在crontab中,用来定时检查get_vmstat.ksh脚本有没有 正常运行,如果在运行,那么不作任何动作,如果不在运行,那么就运行get_vmstat.ksh脚本。这个脚本的意义在于防止重新启动操作系统之后忘记 运行get_vmstat.ksh脚本。
# run_vmstat.ksh
#!/bin/ksh
#----------------------------------------
# 首先设定环境变量,根据实际环境修改. . . .
#----------------------------------------
SCRIPT_PATH=`echo ~oracle/vmstat`
export SCRIPT_PATH
ORACLE_SID=kamusdb
export ORACLE_SID
ORACLE_HOME=`cat /var/opt/oracle/oratab|grep $ORACLE_SID:|cut -f2 -d':'`
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
#----------------------------------------
# 作更进一步地控制,在系统没有操作的时间内停止监控
# 晚上8点到第二天凌晨8点之间停止监控
# 其它时间如果get_vmstat不在运行,就运行它
#----------------------------------------
HOUR=`date +"%H"`
check_stat=`ps -ef|grep get_vmstat|grep -v grep|wc -l`
vmstat_num=`expr $check_stat`
if [ $HOUR -gt 19 ] || [ $HOUR -lt 8 ]
then
if [ $vmstat_num -gt 0 ]
then kill -9 `ps -ef|grep get_vmstat
|grep -v grep|awk '{print $2 }'` > /dev/null
fi
else
if [ $vmstat_num -le 0 ]
then nohup $SCRIPT_PATH/get_vmstat.ksh > /dev/null 2>&1 &
fi
fi