install_logs.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/bin/bash
  2. # LinuxGSM install_logs.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Creates log directories.
  6. local commandname="INSTALL"
  7. local commandaction="Install"
  8. function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  9. if [ "${checklogs}" != "1" ]; then
  10. echo ""
  11. echo "Creating log directories"
  12. echo "================================="
  13. fi
  14. sleep 0.5
  15. # Create LinuxGSM logs
  16. echo -ne "installing log dir: ${logdir}..."
  17. if mkdir -p "${logdir}"
  18. fn_print_fail_eol_nl
  19. core_exit.sh
  20. else
  21. fn_print_ok_eol_nl
  22. fi
  23. echo -ne "installing LinuxGSM log dir: ${lgsmlogdir}..."
  24. if mkdir -p "${lgsmlogdir}"
  25. fn_print_fail_eol_nl
  26. core_exit.sh
  27. else
  28. fn_print_ok_eol_nl
  29. fi
  30. echo -ne "creating LinuxGSM log: ${lgsmlog}..."
  31. if touch "${lgsmlog}"; then
  32. fn_print_fail_eol_nl
  33. core_exit.sh
  34. else
  35. fn_print_ok_eol_nl
  36. fi
  37. # Create Console logs
  38. if [ -n "${consolelogdir}" ]; then
  39. echo -ne "installing console log dir: ${consolelogdir}..."
  40. mkdir -p "${consolelogdir}"
  41. if [ $? -ne 0 ]; then
  42. fn_print_fail_eol_nl
  43. core_exit.sh
  44. else
  45. fn_print_ok_eol_nl
  46. fi
  47. echo -ne "creating console log: ${consolelog}..."
  48. touch "${consolelog}"
  49. if [ $? -ne 0 ]; then
  50. fn_print_fail_eol_nl
  51. core_exit.sh
  52. else
  53. fn_print_ok_eol_nl
  54. fi
  55. fi
  56. # Create Game logs
  57. if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
  58. echo -ne "installing game log dir: ${gamelogdir}..."
  59. if mkdir -p "${gamelogdir}"
  60. fn_print_fail_eol_nl
  61. core_exit.sh
  62. else
  63. fn_print_ok_eol_nl
  64. fi
  65. fi
  66. # Symlink to gamelogdir
  67. # unless gamelogdir is within logdir
  68. # e.g serverfiles/log is not within log/: symlink created
  69. # log/server is in log/: symlink not created
  70. if [ -n "${gamelogdir}" ]; then
  71. if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
  72. echo -ne "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
  73. if ln -nfs "${gamelogdir}" "${logdir}/server"
  74. fn_print_fail_eol_nl
  75. core_exit.sh
  76. else
  77. fn_print_ok_eol_nl
  78. fi
  79. fi
  80. fi
  81. # If server uses SteamCMD create a symbolic link to the Steam logs
  82. if [ -d "${rootdir}/Steam/logs" ]; then
  83. if [ ! -L "${logdir}/steamcmd" ]; then
  84. echo -ne "creating symlink to steam log dir: ${logdir}/steamcmd -> ${rootdir}/Steam/logs..."
  85. ln -nfs "${rootdir}/Steam/logs" "${logdir}/steamcmd"
  86. if [ $? -ne 0 ]; then
  87. fn_print_fail_eol_nl
  88. core_exit.sh
  89. else
  90. fn_print_ok_eol_nl
  91. fi
  92. fi
  93. fi
  94. sleep 0.5
  95. fn_script_log_info "Logs installed"