install_logs.sh 2.4 KB

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