install_logs.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/bin/bash
  2. # LinuxGSM install_logs.sh function
  3. # Author: Daniel Gibbs
  4. # Website: https://linuxgsm.com
  5. # Description: Creates log directories.
  6. commandname="INSTALL"
  7. commandaction="Install"
  8. 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. if mkdir -p "${logdir}"; then
  18. fn_print_fail_eol_nl
  19. core_exit.sh
  20. else
  21. fn_print_ok_eol_nl
  22. fi
  23. echo -ne "installing LinuxGSM log dir: ${lgsmlogdir}..."
  24. if mkdir -p "${lgsmlogdir}"; then
  25. fn_print_fail_eol_nl
  26. core_exit.sh
  27. else
  28. fn_print_ok_eol_nl
  29. fi
  30. echo -ne "creating LinuxGSM log: ${lgsmlog}..."
  31. if touch "${lgsmlog}"; then
  32. fn_print_fail_eol_nl
  33. core_exit.sh
  34. else
  35. fn_print_ok_eol_nl
  36. fi
  37. # Create Console logs
  38. if [ -n "${consolelogdir}" ]; then
  39. echo -ne "installing console log dir: ${consolelogdir}..."
  40. if mkdir -p "${consolelogdir}"; then
  41. fn_print_fail_eol_nl
  42. core_exit.sh
  43. else
  44. fn_print_ok_eol_nl
  45. fi
  46. echo -ne "creating console log: ${consolelog}..."
  47. if touch "${consolelog}"; then
  48. fn_print_fail_eol_nl
  49. core_exit.sh
  50. else
  51. fn_print_ok_eol_nl
  52. fi
  53. fi
  54. # Create Game logs
  55. if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
  56. echo -ne "installing game log dir: ${gamelogdir}..."
  57. if mkdir -p "${gamelogdir}"; then
  58. fn_print_fail_eol_nl
  59. core_exit.sh
  60. else
  61. fn_print_ok_eol_nl
  62. fi
  63. fi
  64. # Symlink to gamelogdir
  65. # unless gamelogdir is within logdir
  66. # e.g serverfiles/log is not within log/: symlink created
  67. # log/server is in log/: symlink not created
  68. if [ -n "${gamelogdir}" ]; then
  69. if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
  70. echo -ne "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
  71. if ln -nfs "${gamelogdir}" "${logdir}/server"; then
  72. fn_print_fail_eol_nl
  73. core_exit.sh
  74. else
  75. fn_print_ok_eol_nl
  76. fi
  77. fi
  78. fi
  79. # If server uses SteamCMD create a symbolic link to the Steam logs
  80. if [ -d "${rootdir}/Steam/logs" ]; then
  81. if [ ! -L "${logdir}/steamcmd" ]; then
  82. echo -ne "creating symlink to steam log dir: ${logdir}/steamcmd -> ${rootdir}/Steam/logs..."
  83. if ln -nfs "${rootdir}/Steam/logs" "${logdir}/steamcmd"; then
  84. fn_print_fail_eol_nl
  85. core_exit.sh
  86. else
  87. fn_print_ok_eol_nl
  88. fi
  89. fi
  90. fi
  91. sleep 0.5
  92. fn_script_log_info "Logs installed"