4
0

fn_backup 1.5 KB

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