install_logs.sh 2.8 KB

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