command_backup.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/bin/bash
  2. # LGSM command_backup.sh function
  3. # Author: Daniel Gibbs
  4. # Website: http://gameservermanagers.com
  5. lgsm_version="271215"
  6. # Description: Creates a .tar.gz file in the backup directory.
  7. local modulename="Backup"
  8. check.sh
  9. backupname="${servicename}-$(date '+%Y-%m-%d-%H%M%S')"
  10. echo ""
  11. echo "${gamename} Backup"
  12. echo "============================"
  13. echo ""
  14. echo "The following backup will be created:"
  15. echo ""
  16. echo "${backupdir}/${backupname}.tar.gz"
  17. echo ""
  18. while true; do
  19. read -p "Continue? [y/N]" yn
  20. case $yn in
  21. [Yy]* ) break;;
  22. [Nn]* ) echo Exiting; return;;
  23. * ) echo "Please answer yes or no.";;
  24. esac
  25. done
  26. tmuxwc=$(tmux list-sessions 2>&1|awk '{print $1}'|grep -v failed|grep -Ec "^${servicename}:")
  27. if [ "${tmuxwc}" -eq 1 ]; then
  28. echo ""
  29. fn_printwarningnl "${servicename} is currently running."
  30. sleep 1
  31. while true; do
  32. read -p "Stop ${servicename} while running the backup? [y/N]" yn
  33. case $yn in
  34. [Yy]* ) command_stop.sh; break;;
  35. [Nn]* ) break;;
  36. * ) echo "Please answer yes or no.";;
  37. esac
  38. done
  39. fi
  40. fn_scriptlog "Started"
  41. echo -en "starting backup.\r"
  42. sleep 1
  43. echo -en "starting backup..\r"
  44. sleep 1
  45. echo -en "starting backup...\r"
  46. sleep 1
  47. echo -en "\n"
  48. cd "${rootdir}"
  49. if [ ! -d "${backupdir}" ]; then
  50. mkdir -v "${backupdir}"
  51. fi
  52. tar -cvzf "${backupdir}/${backupname}.tar.gz" --exclude "${backupdir}" ./*
  53. echo ""
  54. echo "Backup created: ${backupdir}/${backupname}.tar.gz"
  55. fn_scriptlog "Created: ${backupdir}/${backupname}.tar.gz"
  56. sleep 1
  57. echo ""
  58. fn_printcompletenl "Complete."
  59. fn_scriptlog "Complete"
  60. echo ""