gameservergame-servergame-servershacktoberfestdedicated-game-serversgamelinuxgsmserverbashgaminglinuxmultiplayer-game-servershell
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
#!/bin/bash
|
|
# LGSM fn_backupserver function
|
|
# Author: Daniel Gibbs
|
|
# Website: http://danielgibbs.co.uk
|
|
# Version: 011214
|
|
|
|
fn_rootcheck
|
|
fn_syscheck
|
|
backupname="${servicename}-$(date '+%Y-%m-%d-%H%M%S')"
|
|
echo ""
|
|
echo "${gamename} Backup"
|
|
echo "============================"
|
|
echo ""
|
|
echo "The following backup will be created."
|
|
echo ""
|
|
echo "${backupdir}/${backupname}.tar.gz"
|
|
echo ""
|
|
while true; do
|
|
read -p "Continue? [y/N]" yn
|
|
case $yn in
|
|
[Yy]* ) break;;
|
|
[Nn]* ) echo Exiting; return 1;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
tmuxwc=$(tmux list-sessions 2>&1|awk '{print $1}'|grep -v failed|grep -Ec "^${servicename}:")
|
|
if [ "${tmuxwc}" -eq 1 ]; then
|
|
echo -e "\e[0;31mWARNING!\e[0;39m ${servicename} is currently running"
|
|
while true; do
|
|
read -p "Would you like to stop ${servicename} while running the backup? [y/N]" yn
|
|
case $yn in
|
|
[Yy]* ) fn_stopserver; break;;
|
|
[Nn]* ) break;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
fi
|
|
fn_printdots "Starting backup ${servicename}: ${servername}"
|
|
sleep 1
|
|
fn_printok "Starting backup ${servicename}: ${servername}"
|
|
fn_scriptlog "Backup started"
|
|
sleep 1
|
|
echo -en "\n"
|
|
cd "${rootdir}"
|
|
mkdir -pv "${backupdir}" > /dev/null 2>&1
|
|
tar -cvzf "${backupdir}/${backupname}.tar.gz" --exclude "${backupdir}" ./*
|
|
echo -en "\r\033[K${servicename} Backup complete"
|
|
fn_scriptlog "Backup complete"
|