@@ -1,106 +1,101 @@
#!/bin/bash
# @file: $RCSfile: start_fe.sh,v $
# @brief: $ϵͳӦ<CDB3> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ű<EFBFBD>
# @version: $Revision: 1.1 $
# @date: $Date: 2018/12/26 07:19:31 $
# @author: $Author: lizhongming $
# @state: $State: Exp $
# @latest: $Id: start_fe.sh,v 1.1 2018/12/26 07:19:31 lizhongming Exp $
QTDIR = /qt-4.8.4
export QTDIR
FEP_ENV = /home/pq/zwproject/LFtid1056
# ========= 0. <20> <> ȡ<EFBFBD> ű<EFBFBD> <C5B1> <EFBFBD> <EFBFBD> <EFBFBD> ·<EFBFBD> <C2B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> 㣬<EFBFBD> <E3A3AC> <EFBFBD> <EFBFBD> Ϊ FEP_ENV =========
SCRIPT_DIR = " $( cd " $( dirname " $0 " ) " && pwd ) "
FEP_ENV = " $( dirname " $SCRIPT_DIR " ) "
export FEP_ENV
PATH = $FEP_ENV /bin:$QTDIR /bin:$PATH
export PATH
LD_LIBRARY_PATH = $FEP_ENV /lib:$FEP_ENV /lib3rd:$QTDIR /lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
check_log_file( )
{
if [ -n " $1 " ] ; then
FILE_SIZE = 0
FILE_SIZE = ` du $1 | awk '{print $1}' `
if [ $FILE_SIZE -ge 5120 ]
then
if [ -f " $1 " .3 ] ; then
rm -f "$1 " .3
fi
if [ -f " $1 " .2 ] ; then
mv " $1 " .2 " $1 " .3
fi
if [ -f " $1 " .1 ] ; then
mv " $1 " .1 " $1 " .2
fi
mv " $1 " " $1 " .1
fi
# ========= 1. <20> <> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =========
TEMP_LINK_CREATED = 0
# <20> <> ȡ<EFBFBD> <C8A1> ǰ·<C7B0> <C2B7>
CURRENT_DIR = $( pwd )
if [ -L "/FeProject" ] ; then
if [ " $CURRENT_DIR " = "/FeProject" ] ; then
echo "Currently in /FeProject, skipping symlink replacement to avoid issues."
else
echo "/FeProject is an existing symlink. Replacing it..."
sudo rm -f /FeProject
sudo ln -s " $FEP_ENV " /FeProject
TEMP_LINK_CREATED = 1
echo "Symlink /FeProject updated."
fi
elif [ ! -e "/FeProject" ] ; then
echo "/FeProject does not exist. Creating new symlink..."
sudo ln -s " $FEP_ENV " /FeProject
TEMP_LINK_CREATED = 1
echo "Symlink /FeProject created."
else
echo "/FeProject exists but is not a symlink. Please check manually."
fi
if [ -z " $FEP_ENV " ] ; then
echo "Error: FEP_ENV is not set. Please set it first."
exit 1
fi
# ========= 2. <20> <> ־<EFBFBD> <D6BE> ת<EFBFBD> <D7AA> <EFBFBD> <EFBFBD> =========
check_log_file( ) {
if [ -n " $1 " ] ; then
FILE_SIZE = $( du " $1 " | awk '{print $1}' )
if [ " $FILE_SIZE " -ge 5120 ] ; then
[ -f " $1 .3 " ] && rm -f " $1 .3 "
[ -f " $1 .2 " ] && mv " $1 .2 " " $1 .3 "
[ -f " $1 .1 " ] && mv " $1 .1 " " $1 .2 "
mv " $1 " " $1 .1 "
fi
fi
}
LOGFILE = " $FEP_ENV /dat/log/start_fe.log "
check_log_file $LOGFILE
check_log_file " $LOGFILE "
echo "" ; echo ""
echo "******* `date " +%F %R:%S"` Start Processes *******"
echo "" ; echo ""
echo "******* $( date "+%F %R:%S" ) Start Processes ******* "
echo "" >>" $LOGFILE "
echo "" >>" $LOGFILE "
echo "******* ` date " +%F %R:%S"` Start Processes *******" >>" $LOGFILE "
#sysctl -w "kernel.core_pattern=/usr/local/sascore/%e.%p.%t.core" &> /dev/null
#ִ<> г <EFBFBD> <D0B3> <EFBFBD> ·<EFBFBD> <C2B7> ^<5E> <> ִ<EFBFBD> г <EFBFBD> <D0B3> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ^<5E> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> в<EFBFBD> <D0B2> <EFBFBD> ^<5E> ״<EFBFBD> <D7B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> в<EFBFBD> <D0B2> <EFBFBD> ^<5E> <> <EFBFBD> <EFBFBD> <EFBFBD> ״<EFBFBD> <D7B4> <EFBFBD> <EFBFBD> <EFBFBD> ǰ<EFBFBD> <C7B0> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> ^<5E> <> <EFBFBD> <EFBFBD> <EFBFBD> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ^<5E> ״<EFBFBD> <D7B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD>
echo " ******* $( date "+%F %R:%S" ) Start Processes ******* " >>" $LOGFILE "
# ========= 3. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> =========
RUNTIME_CF_FILE = " $FEP_ENV /etc/runtime.cf "
echo " Using config file name: $RUNTIME_CF_FILE "
echo " Using config file name: $RUNTIME_CF_FILE " >>" $LOGFILE "
CURDIR = ` pwd `
while read LINE ; do
if [ -n " $LINE " ] ; then
if [ ${ LINE : 0 : 1 } != "#" ] ; then
BINPATH = ` echo $LINE | awk -F '^' '{printf $1}' `
BINPATH = ` echo " $BINPATH " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
# echo $BINPATH
BIN = ` echo $LINE | awk -F '^' '{printf $2}' `
BIN = ` echo " $BIN " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
# echo $BIN
SPECIAL = ` echo $LINE | awk -F '^' '{printf $4}' `
SPECIAL = ` echo " $SPECIAL " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
# echo $SPECIAL
SLEEPSEC = ` echo $LINE | awk -F '^' '{printf $5}' `
SLEEPSEC = ` echo " $SLEEPSEC " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
# echo $SLEEPSEC
STARTFLAG = ` echo $LINE | awk -F '^' '{printf $7}' `
STARTFLAG = ` echo " $STARTFLAG " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
# echo $STARTFLAG
echo " Using config file name: $RUNTIME_CF_FILE " >>" $LOGFILE "
RESTARTFLAG = ` echo $LINE | awk -F '^' '{printf $6}' `
RESTARTFLAG = ` echo " $RESTARTFLAG " | grep -o "[^ ]\+\( \+[^ ]\+\)*" `
echo $RESTARTFLAG
cd " $FEP_ENV /boot " || exit 1
CURDIR = $( pwd )
if [ " $RESTARTFLAG " = "IGNORE_RESTART" ] ; then
# echo "" ;
CMD_STR = " sleep `echo $SLEEPSEC ` "
echo " $CMD_STR "
echo " $CMD_STR " >>" $LOGFILE "
$CMD_STR
CMD_STR = " ` echo $BINPATH ``echo $BIN ` `echo $SPECIAL` "
echo " $CMD_STR "
echo " $CMD_STR " >>" $LOGFILE "
$CMD_STR & >/dev/null
fi
fi
fi
done < $RUNTIME_CF_FILE
while read -r LINE; do
if [ -n " $LINE " ] && [ [ ${ LINE : 0 : 1 } != "#" ] ] ; then
BINPATH = $( echo " $LINE " | awk -F '^' '{print $1}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $BINPATH "
BIN = $( echo " $LINE " | awk -F '^' '{print $2}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $BIN "
SPECIAL = $( echo " $LINE " | awk -F '^' '{print $4}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $SPECIAL "
SLEEPSEC = $( echo " $LINE " | awk -F '^' '{print $5}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $SLEEPSEC "
STARTFLAG = $( echo " $LINE " | awk -F '^' '{print $7}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $STARTFLAG "
RESTARTFLAG = $( echo " $LINE " | awk -F '^' '{print $6}' | grep -o "[^ ]\+\( \+[^ ]\+\)*" )
echo " $RESTARTFLAG "
cd $CURDIR
if [ " $RESTARTFLAG " = "IGNORE_RESTART" ] ; then
CMD_STR = " sleep $SLEEPSEC "
echo " $CMD_STR "
echo " $CMD_STR " >>" $LOGFILE "
eval " $CMD_STR "
CMD_STR = " $BINPATH $BIN $SPECIAL "
echo " $CMD_STR "
echo " $CMD_STR " >>" $LOGFILE "
eval " $CMD_STR " & >/dev/null
fi
fi
done < " $RUNTIME_CF_FILE "
cd " $CURDIR "
DT = $( date "+%F %R:%S.%N" )
echo " ******* ${ DT : 0 : 23 } Start Processes Succcessfully ******* "
echo " ******* ${ DT : 0 : 23 } Start Processes Succcessfully ******* " >>" $LOGFILE "
DT = ` date "+%F %R:%S.%N" `
echo " ******* ${ DT : 0 : 23 } Start Processes Succcessfully ******* "
echo " ******* ${ DT : 0 : 23 } Start Processes Succcessfully ******* " >>" $LOGFILE "