2025-06-20 16:20:59 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
# ========= 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")"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
export FEP_ENV
|
|
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
# ========= 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
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
if [ -z "$FEP_ENV" ]; then
|
|
|
|
|
|
echo "Error: FEP_ENV is not set. Please set it first."
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
# ========= 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"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
fi
|
2025-07-04 09:50:59 +08:00
|
|
|
|
fi
|
2025-06-20 16:20:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
LOGFILE="$FEP_ENV/dat/log/start_fe.log"
|
2025-07-04 09:50:59 +08:00
|
|
|
|
check_log_file "$LOGFILE"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
echo "" ; echo ""
|
|
|
|
|
|
echo "******* $(date "+%F %R:%S") Start Processes *******"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
echo "" >>"$LOGFILE"
|
|
|
|
|
|
echo "" >>"$LOGFILE"
|
2025-07-04 09:50:59 +08:00
|
|
|
|
echo "******* $(date "+%F %R:%S") Start Processes *******" >>"$LOGFILE"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
# ========= 3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =========
|
2025-06-20 16:20:59 +08:00
|
|
|
|
RUNTIME_CF_FILE="$FEP_ENV/etc/runtime.cf"
|
|
|
|
|
|
|
|
|
|
|
|
echo "Using config file name: $RUNTIME_CF_FILE"
|
2025-07-04 09:50:59 +08:00
|
|
|
|
echo "Using config file name: $RUNTIME_CF_FILE" >>"$LOGFILE"
|
|
|
|
|
|
|
|
|
|
|
|
cd "$FEP_ENV/boot" || exit 1
|
|
|
|
|
|
CURDIR=$(pwd)
|
|
|
|
|
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
|
|
|
|
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"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
cd "$CURDIR"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|
2025-07-04 09:50:59 +08:00
|
|
|
|
DT=$(date "+%F %R:%S.%N")
|
|
|
|
|
|
echo "******* ${DT:0:23} Start Processes Succcessfully *******"
|
|
|
|
|
|
echo "******* ${DT:0:23} Start Processes Succcessfully *******" >>"$LOGFILE"
|
2025-06-20 16:20:59 +08:00
|
|
|
|
|