fn_backupserver 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. # LGSM fn_backupserver function
  3. # Author: Daniel Gibbs
  4. # Website: http://danielgibbs.co.uk
  5. # Version: 011214
  6. fn_rootcheck
  7. fn_syscheck
  8. backupname="${servicename}-$(date '+%Y-%m-%d-%H%M%S')"
  9. echo ""
  10. echo "${gamename} Backup"
  11. echo "============================"
  12. echo ""
  13. echo "The following backup will be created."
  14. echo ""
  15. echo "${backupdir}/${backupname}.tar.gz"
  16. echo ""
  17. while true; do
  18. read -p "Continue? [y/N]" yn
  19. case $yn in
  20. [Yy]* ) break;;
  21. [Nn]* ) echo Exiting; return 1;;
  22. * ) echo "Please answer yes or no.";;
  23. esac
  24. done
  25. tmuxwc=$(tmux list-sessions 2>&1|awk '{print $1}'|grep -v failed|grep -Ec "^${servicename}:")
  26. if [ "${tmuxwc}" -eq 1 ]; then
  27. echo -e "\e[0;31mWARNING!\e[0;39m ${servicename} is currently running"
  28. while true; do
  29. read -p "Would you like to stop ${servicename} while running the backup? [y/N]" yn
  30. case $yn in
  31. [Yy]* ) fn_stopserver; break;;
  32. [Nn]* ) break;;
  33. * ) echo "Please answer yes or no.";;
  34. esac
  35. done
  36. fi
  37. fn_printdots "Starting backup ${servicename}: ${servername}"
  38. sleep 1
  39. fn_printok "Starting backup ${servicename}: ${servername}"
  40. fn_scriptlog "Backup started"
  41. sleep 1
  42. echo -en "\n"
  43. cd "${rootdir}"
  44. mkdir -pv "${backupdir}" > /dev/null 2>&1
  45. tar -cvzf "${backupdir}/${backupname}.tar.gz" --exclude "${backupdir}" ./*
  46. echo -en "\r\033[K${servicename} Backup complete"
  47. fn_scriptlog "Backup complete"