#!/usr/bin/ksh export LANG=zh_CN.GBK #LogDC default setting Default_Setting() { #export ABLOG_CLASS="ALL" #export ABLOG_CLASS="ERROR,METRICS,STATE,FLOW,DETAIL" #export ABLOG_CLASS="ERROR,METRICS,STATE,DETAIL" #export ABLOG_CLASS="ERROR,METRICS,STATE" export ABLOG_CLASS="ERROR,METRICS" #keep 5 days log files #export ABLOG_KEEP_HOURS= default 120 export ABLOG_KEEP_HOURS= #export ABLOG_STDOUT= default 1 export ABLOG_STDOUT=0 #export VIRTUAL_TIME= default equals current time `date +"%Y-%m-%d %H:%M:%S"` export VIRTUAL_TIME= #export SCAN_DATA_BY_TIME= default 1 :scan data by virtual time / 0 :scan data from top of file and immediately begin. export SCAN_DATA_BY_TIME= #export SCAN_BEGIN_TIME= default from virtual current time export SCAN_BEGIN_TIME= #export SCAN_END_TIME= default no end time export SCAN_END_TIME= #export IDLE_TIMEOUT_HOURS= default 0, no idle timeout export IDLE_TIMEOUT_HOURS= #export VALIDATE_DATA= default 1, yes export VALIDATE_DATA= #export CHECK_FILE_STATUS= default 0, no export CHECK_FILE_STATUS= export SYSTEM_NAME= } #LogDC default setting #don't change below coding #program path export CUR_DIR=`echo $0 | sed 's/[^\/]*$//'` if test "$CUR_DIR" != ""; then cd $CUR_DIR fi cd .. export DC_HOME=`pwd` cd bin export DC_EXE=${DC_HOME}/bin/dc export LIBPATH=${DC_HOME}/lib:$LIBPATH export TASKPATH=${DC_HOME}/etc/task.lst export FSYSMATCH=${DC_HOME}/etc/sysmatch.lst export RTNCDFILE=${DC_HOME}/etc/rtncode.lst export TXNFILE=${DC_HOME}/etc/txnid.lst export TXNCDFILE=${DC_HOME}/etc/txncd.lst export CONFIG_FILE=${DC_HOME}/etc/config.map export DC_LOG_PATH=${DC_HOME}/log if [ ! -e "${DC_LOG_PATH}" ]; then mkdir ${DC_LOG_PATH} fi HOSTNAME=`hostname` ips=`ifconfig -a | grep "inet " | awk {'print $2'}` echo current ip: $ips c_ip=127.0.0.1 c_match=$ips echo default setting for common configuration Default_Setting i=0 while read LINE do i=$(($i+1)) c_tmp=`echo $LINE | grep '\[IP:.*\]'` if [ "$c_tmp" ]; then #config for ip c_ip=`echo $LINE | sed -e 's/.*\[IP:\(.*\)\].*/\1/g'` c_match=`echo $ips | grep "$c_ip"` if [ "$c_match" ]; then echo restore default setting for configuration $c_ip Default_Setting fi fi if [ ! "$c_match" ]; then #skip config for other ip continue fi c_tmp=`echo $LINE | grep -nE '^(^#|$)'` if [ "$c_tmp" ]; then #skip empty and comment line continue fi echo "line ${i}:" c_tmp=`echo $LINE | grep '.*=.*'` if [ "$c_tmp" ]; then key=${c_tmp%%=*} value=${c_tmp#*=} #echo $c_tmp | awk -F '=' {'print $1,$2'} | read key value eval "export $c_tmp" gkv="$"$key"" echo $key=`eval echo $gkv` continue fi filepath="" servername="" instancename="" appname="" c_tmp=`eval echo "$LINE"` echo "task=$c_tmp" filepath=${c_tmp%%,*} c_tmp=${c_tmp#*,} appname=${c_tmp%%,*} c_tmp=${c_tmp#*,} servername=${c_tmp%%,*} c_tmp=${c_tmp#*,} instancename=${c_tmp%%,*} c_tmp=${c_tmp#*,} sendmode=${c_tmp%%,*} c_tmp=${c_tmp#*,} #echo $c_tmp | awk -F ',' {'print $1,$2,$3,$4,$5'} | read filepath appname servername instancename sendmode filename=${filepath##*/} sysname=${filename%%.*} if [ "$SYSTEM_NAME" ]; then sysname=${SYSTEM_NAME} fi echo "<----------DC task start with detail as below:---------------->" echo filepath=[$filepath] echo filename=[$filename] echo sysname=[$sysname] echo appname=[$appname] echo servername=[$servername] echo instancename=[$instancename] echo sendmode=[$sendmode] export ABLOG_FILE=${DC_LOG_PATH}/${filename}_[yyyy][mm][dd][hh]_dc[pid].log echo "$DC_EXE 0 $filepath $sysname $appname $servername $instancename $sendmode" #$DC_EXE 0 $filepath $sysname $appname $servername $instancename $sendmode >/dev/null 2>&1 & $DC_EXE 0 $filepath $sysname $appname $servername $instancename $sendmode & #echo "It's NOT run really!" echo "" done < $TASKPATH exit 0