4
0

install_logs.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  8. if [ "${checklogs}" != "1" ]; then
  9. echo -e ""
  10. echo -e "${bold}${lightyellow}Creating Log Directories${default}"
  11. fn_messages_separator
  12. fi
  13. # Create LinuxGSM logs.
  14. echo -en "installing log dir: ${logdir}..."
  15. mkdir -p "${logdir}"
  16. if [ $? != 0 ]; then
  17. fn_print_fail_eol_nl
  18. core_exit.sh
  19. else
  20. fn_print_ok_eol_nl
  21. fi
  22. echo -en "installing LinuxGSM log dir: ${lgsmlogdir}..."
  23. mkdir -p "${lgsmlogdir}"
  24. if [ $? != 0 ]; then
  25. fn_print_fail_eol_nl
  26. core_exit.sh
  27. else
  28. fn_print_ok_eol_nl
  29. fi
  30. echo -en "creating LinuxGSM log: ${lgsmlog}..."
  31. touch "${lgsmlog}"
  32. if [ $? != 0 ]; then
  33. fn_print_fail_eol_nl
  34. core_exit.sh
  35. else
  36. fn_print_ok_eol_nl
  37. fi
  38. # Create Console logs.
  39. if [ "${consolelogdir}" ]; then
  40. echo -en "installing console log dir: ${consolelogdir}..."
  41. mkdir -p "${consolelogdir}"
  42. if [ $? != 0 ]; then
  43. fn_print_fail_eol_nl
  44. core_exit.sh
  45. else
  46. fn_print_ok_eol_nl
  47. fi
  48. echo -en "creating console log: ${consolelog}..."
  49. if ! touch "${consolelog}"; 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 [ "${gamelogdir}" ] && [ ! -d "${gamelogdir}" ]; then
  58. echo -en "installing game log dir: ${gamelogdir}..."
  59. if ! mkdir -p "${gamelogdir}"; then
  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 [ "${gamelogdir}" ]; then
  71. if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
  72. echo -en "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
  73. if ! ln -nfs "${gamelogdir}" "${logdir}/server"; then
  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 "${HOME}/.steam/steam/logs" ]; then
  83. if [ ! -L "${logdir}/steam" ]; then
  84. echo -en "creating symlink to steam log dir: ${logdir}/steam -> ${HOME}/.steam/steam/logs..."
  85. if ! ln -nfs "${HOME}/.steam/steam/logs" "${logdir}/steam"; then
  86. fn_print_fail_eol_nl
  87. core_exit.sh
  88. else
  89. fn_print_ok_eol_nl
  90. fi
  91. fi
  92. fi
  93. fn_script_log_info "Logs installed"