|
|
@@ -31,6 +31,7 @@ rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
selfname="$0"
|
|
|
filesdir="${rootdir}/serverfiles"
|
|
|
servercfg="${filesdir}/hidden/cfg/${servicename}.cfg"
|
|
|
+backupdir="backups"
|
|
|
|
|
|
# Server Details
|
|
|
servername=$(grep -s hostname ${servercfg} | sed 's/hostname //g'|sed 's/"//g')
|
|
|
@@ -174,6 +175,53 @@ else
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
+fn_backupserver(){
|
|
|
+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 ${servicename}|wc -l)
|
|
|
+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
|
|
|
+echo -en "[ .... ] Starting ${servicename}: ${servername} backup"
|
|
|
+echo -e "$(date '+%b %d %H:%M:%S') ${servicename}: Starting ${servername} backup" >> ${scriptlog}
|
|
|
+sleep 0.5
|
|
|
+echo -en "\r[\e[0;32m OK \e[0;39m] Starting ${servicename}: ${servername} backup"
|
|
|
+echo -e "$(date '+%b %d %H:%M:%S') ${servicename}: Started ${servername} backup" >> ${scriptlog}
|
|
|
+sleep 1
|
|
|
+echo -en "\n"
|
|
|
+cd ${rootdir}
|
|
|
+mkdir ${backupdir} > /dev/null 2>&1
|
|
|
+tar -cvzf ${backupdir}/${backupname}.tar.gz --exclude ${backupdir} *
|
|
|
+echo -en "\r${servicename} backup complete"
|
|
|
+echo -e "$(date '+%b %d %H:%M:%S') ${servicename}: backup complete" >> ${scriptlog}
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
fn_backupserver(){
|
|
|
fn_rootcheck
|
|
|
fn_syscheck
|