mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-15 20:08:29 +00:00
Make backup function more robust
This commit is contained in:
parent
3ca424f63b
commit
44fa13cdc6
@ -421,10 +421,67 @@ doBackup(){
|
||||
local datestamp=`date +"%Y-%m-%d_%H.%M.%S"`
|
||||
local backupdir="${arkbackupdir}/${datestamp}"
|
||||
mkdir -p "$backupdir"
|
||||
|
||||
# ARK server uses Write-Unlink-Rename
|
||||
echo -ne "${NORMAL} Copying ARK world file "
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/SavedArks/${serverMap}.ark" "${backupdir}/${serverMap}.ark"
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/SavedArks/"*.arkprofile "${backupdir}"
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/SavedArks/"*.arktribe "${backupdir}"
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" "${backupdir}"
|
||||
if [ ! -f "${backupdir}/${serverMap}.ark" ]; then
|
||||
sleep 2
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/SavedArks/${serverMap}.ark" "${backupdir}/${serverMap}.ark"
|
||||
fi
|
||||
if [ -f "${backupdir}/${serverMap}.ark" ]; then
|
||||
echo -e "${NORMAL}[ ${GREEN}OK${NORMAL} ]"
|
||||
else
|
||||
echo -e "${NORMAL}[ ${RED}FAILED${NORMAL} ]"
|
||||
fi
|
||||
|
||||
# ARK server uses Lock-Truncate-Write-Unlock
|
||||
# Unfortunately we can't lock the file, as
|
||||
# ARK server uses a non-blocking lock and will
|
||||
# fail to update the file if the lock fails.
|
||||
echo -e "${NORMAL} Copying ARK profile files"
|
||||
for f in "${arkserverroot}/ShooterGame/Saved/SavedArks/"*.arkprofile; do
|
||||
echo -ne "${NORMAL} ${f##*/} "
|
||||
cp -p "${f}" "${backupdir}/${f##*/}"
|
||||
if [ ! -s "${backupdir}/${f##*/}" ]; then
|
||||
sleep 2
|
||||
cp -p "${f}" "${backupdir}/${f##*/}"
|
||||
fi
|
||||
if [ -s "${backupdir}/${f##*/}" ]; then
|
||||
echo -e "${NORMAL}[ ${GREEN}OK${NORMAL} ]"
|
||||
else
|
||||
echo -e "${NORMAL}[ ${RED}FAILED${NORMAL} ]"
|
||||
fi
|
||||
done
|
||||
|
||||
# ARK server uses Lock-Truncate-Write-Unlock
|
||||
echo -e "${NORMAL} Copying ARK tribe files "
|
||||
for f in "${arkserverroot}/ShooterGame/Saved/SavedArks/"*.arktribe; do
|
||||
echo -ne "${NORMAL} ${f##*/} "
|
||||
cp -p "${f}" "${backupdir}/${f##*/}"
|
||||
if [ ! -s "${backupdir}/${f##*/}" ]; then
|
||||
sleep 2
|
||||
cp -p "${f}" "${backupdir}/${f##*/}"
|
||||
fi
|
||||
if [ -s "${backupdir}/${f##*/}" ]; then
|
||||
echo -e "${NORMAL}[ ${GREEN}OK${NORMAL} ]"
|
||||
else
|
||||
echo -e "${NORMAL}[ ${RED}FAILED${NORMAL} ]"
|
||||
fi
|
||||
done
|
||||
|
||||
# ARK server uses Lock-Truncate-Write-Unlock
|
||||
echo -ne "${NORMAL} Copying GameUserSettings.ini "
|
||||
cp -p "${arkserverroot}/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" "${backupdir}/GameUserSettings.ini"
|
||||
if [ ! -s "${backupdir}/GameUserSettings.ini" ]; then
|
||||
sleep 2
|
||||
cp -p "${f}" "${backupdir}/${f##*/}"
|
||||
fi
|
||||
if [ -f "${backupdir}/GameUserSettings.ini" ]; then
|
||||
echo -e "${NORMAL}[ ${GREEN}OK${NORMAL} ]"
|
||||
else
|
||||
echo -e "${NORMAL}[ ${RED}FAILED${NORMAL} ]"
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user