install_logs.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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 ""
  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. 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 -ne "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 -ne "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 -ne "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 -ne "creating console log: ${consolelog}..."
  51. touch "${consolelog}"
  52. if [ $? -ne 0 ]; then
  53. fn_print_fail_eol_nl
  54. core_exit.sh
  55. else
  56. fn_print_ok_eol_nl
  57. fi
  58. fi
  59. # Create Game logs
  60. if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
  61. echo -ne "installing game log dir: ${gamelogdir}..."
  62. mkdir -p "${gamelogdir}"
  63. if [ $? -ne 0 ]; then
  64. fn_print_fail_eol_nl
  65. core_exit.sh
  66. else
  67. fn_print_ok_eol_nl
  68. fi
  69. fi
  70. # Symlink to gamelogdir
  71. # unless gamelogdir is within logdir
  72. # e.g serverfiles/log is not within log/: symlink created
  73. # log/server is in log/: symlink not created
  74. if [ -n "${gamelogdir}" ]; then
  75. if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
  76. echo -ne "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
  77. ln -nfs "${gamelogdir}" "${logdir}/server"
  78. if [ $? -ne 0 ]; then
  79. fn_print_fail_eol_nl
  80. core_exit.sh
  81. else
  82. fn_print_ok_eol_nl
  83. fi
  84. fi
  85. fi
  86. # If server uses SteamCMD create a symbolic link to the Steam logs
  87. if [ -d "${rootdir}/Steam/logs" ]; then
  88. if [ ! -L "${logdir}/steamcmd" ]; then
  89. echo -ne "creating symlink to steam log dir: ${logdir}/steamcmd -> ${rootdir}/Steam/logs..."
  90. ln -nfs "${rootdir}/Steam/logs" "${logdir}/steamcmd"
  91. if [ $? -ne 0 ]; then
  92. fn_print_fail_eol_nl
  93. core_exit.sh
  94. else
  95. fn_print_ok_eol_nl
  96. fi
  97. fi
  98. fi
  99. sleep 0.5
  100. fn_script_log_info "Logs installed"