Catatan Ku

Coretan Seorang Hamba

About Me

My Photo
Martha
Seorang Manusia Yang berasal Dari Air yang Hina, Berkat Rahmat Tuhannya dia dimuliakan dengan diciptakan sebagai Manusia. Dan akan berpulang menjadi bangkai yang di mkan ulat-ulat
View my complete profile

Popular Posts

# -bash-3.2$ ./check.sh 20 20
ERRNO=999

#. color.sh

# must 2 variabel sample : ./check.sh 20 20
if [ $# -ne 2 ]
then
echo "Please specify interval arguments"
echo "Usage: $0 [interval] [max_row_displayed]"
echo "where [interval] is pooling time on seconds"
echo " [max_row_displayed] max number of row saved"
exit $ERRNO
fi

v_sleep="$1"
v_max_row="$2"

# process engine names
declare -a v_pe_logfiles
declare -a v_pe_labels
declare -a v_table
declare -a v_cur_row
declare -a v_prev_row

cd /tibco_archive/tra/domain/HCPT_EAI_PROD_DOMAIN1/application/logs

# get log files, label and number of log
v_pe_logfiles=( `ls *.log | /usr/bin/egrep '(BW[0-9][0-9]*|WF[0-7]*)_Process_Archive'` )
v_pe_labels=( `ls *.log | /usr/bin/egrep '(BW[0-9][0-9]*|WF[0-7]*)_Process_Archive' | sed 's/_Process_Archive\.log//' | sed 's/.*-//
'` )
v_pe_count=${#v_pe_logfiles[@]}

# header
v_header="\t"
for (( i = 0; i < v_pe_count; i++ ))
do
v_header="$v_header\t${v_pe_labels[$i]}"
v_prev_row[$i]=0
done

v_init=1
v_start_row=1
v_num_row=$v_start_row

while true
do
v_cur_time=`date "+%H:%M:%S"`
line="$v_cur_time\t"
# populate current timeout value
for (( i = 0; i < v_pe_count; i++ ))
do
v_cur_tc=`grep -c 'Timeout waiting' ${v_pe_logfiles[$i]}`
v_cur_row[$i]=$v_cur_tc
v_diff=`expr $v_cur_tc - ${v_prev_row[$i]}`
if [ $v_init -eq 0 ]
then
line="${line}${v_cur_tc}/$v_diff\t"
else
line="${line}${v_cur_tc}/#\t"
fi
done
v_init=0
v_table[$v_num_row]=$line

# print table
clear
echo " Database Timeout"
echo "======================================================================================================================
======================="
echo -e $v_header
echo "----------------------------------------------------------------------------------------------------------------------
-----------------------"
for (( i = $v_num_row; i >= $v_start_row; i-- ))
do
echo -e ${v_table[$i]}
done

# refresh table value
if [ $v_num_row -eq $v_max_row ]
then
for (( i = $v_start_row; i < $v_max_row; i++ ))
do
j=`expr $i + 1`
v_table[$i]=${v_table[$j]}
done
else
v_num_row=`expr $v_num_row + 1`
fi

v_prev_row=( ${v_cur_row[@]} )

sleep $v_sleep
done

Leave a Reply