mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-13 09:17:18 +00:00
71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function checkStatus() {
|
|
# wipe do : destroy old screens + ls
|
|
screen -wipe
|
|
if screen -ls $1 | grep -q "No Sockets found"
|
|
then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
function starter() {
|
|
local CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
cd $BINPATH
|
|
|
|
mkdir -p "$LOGS_PATH"
|
|
|
|
TRACE_BEGIN_STRING="SIGSEGV"
|
|
TRACE_FILE="$LOGS_PATH/"$SCREEN_NAME"_trace.log"
|
|
ERR_FILE="$LOGS_PATH/"$SCREEN_NAME"_error.log"
|
|
SYSLOG="$LOGS_PATH/"$SCREEN_NAME"_system.log"
|
|
SYSERR="$LOGS_PATH/"$SCREEN_NAME"_system.err"
|
|
LINKS_FILE="$LOGS_PATH/"$SCREEN_NAME"_crash_links.link"
|
|
|
|
$CURRENT_PATH/starter $SERVERBIN $GDB "$CONFIG" "$SYSLOG" "$SYSERR" $GDB_ENABLED
|
|
}
|
|
|
|
|
|
function restarter() {
|
|
local CURRENT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
cd $BINPATH
|
|
|
|
mkdir -p "$LOGS_PATH"
|
|
|
|
TRACE_BEGIN_STRING="SIGSEGV"
|
|
TRACE_FILE="$LOGS_PATH/"$SCREEN_NAME"_trace.log"
|
|
ERR_FILE="$LOGS_PATH/"$SCREEN_NAME"_error.log"
|
|
SYSLOG="$LOGS_PATH/"$SCREEN_NAME"_system.log"
|
|
SYSERR="$LOGS_PATH/"$SCREEN_NAME"_system.err"
|
|
LINKS_FILE="$LOGS_PATH/"$SCREEN_NAME"_crash_links.link"
|
|
|
|
if [ ! -f $TRACE_FILE ]; then
|
|
touch $TRACE_FILE
|
|
fi
|
|
|
|
while :
|
|
do
|
|
if checkStatus $SCREEN_NAME; then
|
|
DATE=$(date)
|
|
echo "Restarting $SCREEN_NAME Core blizz($DATE)"
|
|
echo $PID
|
|
if [ $GDB_ENABLED -eq 1 ]; then
|
|
echo "GDB enabled"
|
|
grep -B 10 -A 1800 "$TRACE_BEGIN_STRING" "$SYSLOG" >> "$TRACE_FILE"
|
|
cat "$SYSERR" > "$ERR_FILE"
|
|
screen -A -m -d -S $SCREEN_NAME "$CURRENT_PATH/starter" $SERVERBIN $GDB "$CONFIG" "$SYSLOG" "$SYSERR" 1
|
|
fi
|
|
|
|
if [ $GDB_ENABLED -eq 0 ]; then
|
|
echo "GDB disabled"
|
|
screen -A -m -d -S $SCREEN_NAME "$CURRENT_PATH/starter" $SERVERBIN null "$CONFIG" null null 0
|
|
fi
|
|
fi
|
|
|
|
sleep 15
|
|
done
|
|
}
|