Merge safe update into doUpdate

This commit is contained in:
Ben Peddell 2015-09-16 18:48:42 +10:00
parent c329f28fee
commit e3dbe2847a

View File

@ -449,10 +449,13 @@ doInstall() {
# #
doUpdate() { doUpdate() {
local appupdate= local appupdate=
local updatetype=normal
for arg in "$@"; do for arg in "$@"; do
if [ "$arg" == "--force" ]; then if [ "$arg" == "--force" ]; then
appupdate=1 appupdate=1
elif [ "$arg" == "--safe" ]; then
updatetype=safe
fi fi
done done
@ -463,6 +466,16 @@ doUpdate() {
fi fi
if [ -n "$appupdate" ]; then if [ -n "$appupdate" ]; then
if isTheServerRunning; then
if [ "$updatetype" == "safe" ]; then
while [ ! `find $arkserverroot/ShooterGame/Saved/SavedArks -mmin -1 -name ${serverMap##*/}.ark` ]; do
echo "`timestamp`: Save file older than 1 minute. Delaying update." >> "$logdir/update.log"
sleep 30s
done
echo "`timestamp`: Save file newer than 1 minute. Performing an update." >> "$logdir/update.log"
fi
fi
forceUpdate forceUpdate
else else
echo "Your server is already up to date! The most recent version is ${bnumber}." echo "Your server is already up to date! The most recent version is ${bnumber}."
@ -489,25 +502,6 @@ forceUpdate(){
fi fi
} }
#
# Waits for server to perform save before update (until save file is newer than 1 minute)
#
doSafeUpdate(){
cd "$arkserverroot"
if isUpdateNeeded; then
while [ ! `find $arkserverroot/ShooterGame/Saved/SavedArks -mmin -1 -name ${serverMap##*/}.ark` ]; do
echo "`timestamp`: Save file older than 1 minute. Delaying update." >> "$logdir/update.log"
sleep 30s
done
echo "`timestamp`: Save file newer than 1 minute. Performing an update." >> "$logdir/update.log"
forceUpdate
else
echo "Your server is already up to date! The most recent version is ${bnumber}."
echo "`timestamp`: No update needed." >> "$logdir/update.log"
fi
}
# #
# Downloads mod and installs it into mods directory # Downloads mod and installs it into mods directory
# #
@ -885,7 +879,7 @@ while true; do
doUpdate --force doUpdate --force
shift shift
elif [ "$2" == "--safe" ]; then elif [ "$2" == "--safe" ]; then
doSafeUpdate doUpdate --safe
shift shift
elif [ "$2" == "--warn" ]; then elif [ "$2" == "--warn" ]; then
doWarnUpdate doWarnUpdate