install_logs.sh 2.4 KB

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