36 lines
632 B
Bash
36 lines
632 B
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
echo "Dir:"
|
||
|
|
pwd
|
||
|
|
|
||
|
|
mkdir -p startClusterLogs
|
||
|
|
|
||
|
|
logFile="startClusterLogs/$2"
|
||
|
|
|
||
|
|
backup_log_file () {
|
||
|
|
# Make a backup if previous log file exists
|
||
|
|
if [ -f $logFile ]; then
|
||
|
|
DATE_WITH_TIME=$(date "+%Y%m%d-%H%M%S")
|
||
|
|
mv $logFile ${logFile}_${DATE_WITH_TIME}.bk
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
backup_log_file
|
||
|
|
|
||
|
|
CMD="$1 >$logFile 2>&1"
|
||
|
|
echo "Starting: $CMD"
|
||
|
|
|
||
|
|
i=0
|
||
|
|
until eval "$CMD"; do
|
||
|
|
((i++))
|
||
|
|
echo "Server satrted with $CMD crashed($i time) with exit code $?. Respawning.." >&2
|
||
|
|
if [[ "$i" == '100' ]]; then
|
||
|
|
echo "Reached maximal number of restarts for $CMD"
|
||
|
|
break
|
||
|
|
fi
|
||
|
|
|
||
|
|
backup_log_file
|
||
|
|
sleep 5
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "Exiting loop script"
|