123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- #!/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
|