fn_logs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. # LGSM fn_logs function
  3. # Author: Daniel Gibbs
  4. # Website: http://danielgibbs.co.uk
  5. # Version: 210115
  6. # Description: Acts as a log rotater, removing old logs.
  7. local modulename="Log Manager"
  8. if [ ! -e "${consolelog}" ]; then
  9. touch "${consolelog}"
  10. fi
  11. # log manager will active if finds logs older than ${logdays}
  12. if [ $(find "${scriptlogdir}"/* -mtime +${logdays}|wc -l) -ne "0" ]; then
  13. fn_printdots "Starting"
  14. sleep 1
  15. fn_printok "Starting"
  16. fn_scriptlog "Starting"
  17. sleep 1
  18. echo -en "\n"
  19. fn_printinfo "Removing logs older than ${logdays} days"
  20. fn_scriptlog "Removing logs older than ${logdays} days"
  21. sleep 1
  22. echo -en "\n"
  23. if [ "${engine}" == "unreal2" ]; then
  24. find "${gamelogdir}"/* -mtime +${logdays}|tee >> "${scriptlog}"
  25. fi
  26. find "${scriptlogdir}"/* -mtime +${logdays}|tee >> "${scriptlog}"
  27. find "${consolelogdir}"/* -mtime +${logdays}|tee >> "${scriptlog}"
  28. if [ "${engine}" == "unreal2" ]; then
  29. gamecount=$(find "${scriptlogdir}"/* -mtime +${logdays}|wc -l)
  30. fi
  31. scriptcount=$(find "${scriptlogdir}"/* -mtime +${logdays}|wc -l)
  32. consolecount=$(find "${consolelogdir}"/* -mtime +${logdays}|wc -l)
  33. count=$((${scriptcount} + ${consolecount}))
  34. if [ "${engine}" == "unreal2" ]; then
  35. count=$((${scriptcount} + ${consolecount} + ${gamecount}))
  36. else
  37. count=$((${scriptcount} + ${consolecount}))
  38. fi
  39. if [ "${engine}" == "unreal2" ]; then
  40. find "${gamelogdir}"/* -mtime +${logdays} -exec rm {} \;
  41. fi
  42. find "${scriptlogdir}"/* -mtime +${logdays} -exec rm {} \;
  43. find "${consolelogdir}"/* -mtime +${logdays} -exec rm {} \;
  44. fn_printok "Removed ${count} log files"
  45. fn_scriptlog "Removed ${count} log files"
  46. sleep 1
  47. echo -en "\n"
  48. fi