Browse Source

Merging all in one, adding new logs support

Merging logging, counting, and removing logfiles in one place, to avoid some redundant if statements
Also, understanding the code and supporting new logs should be easier.

Adding srcds / sm / ulx / darkrp logs support
pull/688/head
lrob 9 years ago
parent
commit
f91b736ec7
  1. 70
      functions/logs.sh

70
functions/logs.sh

@ -15,7 +15,7 @@ if [ -n "${consolelog}" ]; then
fi fi
fi fi
# Set source log directory # Set source logs directories
if [ -z "${systemdir}" && "${engine}" == "source" ]; then if [ -z "${systemdir}" && "${engine}" == "source" ]; then
srcdslogdir="${systemdir}/logs" srcdslogdir="${systemdir}/logs"
# Set addons directories # Set addons directories
@ -27,7 +27,10 @@ if [ -z "${systemdir}" && "${engine}" == "source" ]; then
fi fi
fi fi
# log manager will active if finds logs older than ${logdays} # Setting up counting variables
scriptcount="0" ; consolecount="0" ; gamecount="0" ; srcdscount="0" ; smcount="0" ; ulxcount="0" ; darkrpcount="0"
# Log manager will start the cleanup if it finds logs older than ${logdays}
if [ $(find "${scriptlogdir}"/ -type f -mtime +${logdays}|wc -l) -ne "0" ]; then if [ $(find "${scriptlogdir}"/ -type f -mtime +${logdays}|wc -l) -ne "0" ]; then
fn_printdots "Starting" fn_printdots "Starting"
sleep 1 sleep 1
@ -39,43 +42,54 @@ if [ $(find "${scriptlogdir}"/ -type f -mtime +${logdays}|wc -l) -ne "0" ]; then
fn_scriptlog "Removing logs older than ${logdays} days" fn_scriptlog "Removing logs older than ${logdays} days"
sleep 1 sleep 1
echo -en "\n" echo -en "\n"
# Logging logfiles to be removed according to ${logdays}, counting and removing them
# Script logfiles
find "${scriptlogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
scriptcount=$(find "${scriptlogdir}"/ -type f -mtime +${logdays}|wc -l)
find "${scriptlogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
# Retrocompatibility, for logs directly in /log folder # Retrocompatibility, for logs directly in /log folder
# Find game logfiles older than ${logdays} and write that list to the current script log
if [ "${engine}" == "unreal2" ]||[ "${engine}" == "source" ]; then if [ "${engine}" == "unreal2" ]||[ "${engine}" == "source" ]; then
find "${gamelogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}" find "${gamelogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
gamecount=$(find "${gamelogdir}"/ -type f -mtime +${logdays}|wc -l)
find "${gamelogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
fi fi
# Find script logfiles older than ${logdays} and write that list to the current script log # Console logfiles
find "${scriptlogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
# Find console logfiles older than ${logdays} and write that list to the current script log
if [ -n "${consolelog}" ]; then if [ -n "${consolelog}" ]; then
find "${consolelogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}" find "${consolelogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
consolecount=$(find "${consolelogdir}"/ -type f -mtime +${logdays}|wc -l)
find "${consolelogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
fi fi
# Counting # SRCDS logfiles
# Setting up variables if [ "${engine}" == "source" ]; then
scriptcount="0" ; consolecount="0" ; gamecount="0" ; srcdscount="0" ; smcount="0" ; ulxcount="0" ; darkrpcount="0" if [ -d "${srcdslogdir}" ]; then
# Retrocompatibility, for logs directly in /log folder find "${srcdslogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
# Count how many script logfiles will be removed srcdscount=$(find "${srcdslogdir}"/ -type f -mtime +${logdays}|wc -l)
if [ "${engine}" == "unreal2" ]||[ "${engine}" == "source" ]; then find "${srcdslogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
gamecount=$(find "${gamelogdir}"/ -type f -mtime +${logdays}|wc -l)
fi fi
# Count how many script logfiles will be removed # SourceMod logfiles
scriptcount=$(find "${scriptlogdir}"/ -type f -mtime +${logdays}|wc -l) if [ -d "${sourcemodlogdir}" ]; then
echo "${consolelog}" find "${sourcemodlogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
# Count how many console logfiles will be removed, if those logs exist smcount=$(find "${sourcemodlogdir}"/ -type f -mtime +${logdays}|wc -l)
if [ -n "${consolelog}" ]; then find "${sourcemodlogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
consolecount=$(find "${consolelogdir}"/ -type f -mtime +${logdays}|wc -l)
fi fi
# Count total amount of files to remove # ULX logfiles
count=$((${scriptcount} + ${consolecount} + ${gamecount} + ${srcdscount} + ${smcount} + ${ulxcount} + ${darkrpcount})) if [ "${gamename}" == "Garry's Mod" ]
if [ -d "${ulxlogdir}" ]; then
# Removing logfiles find "${ulxlogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
if [ "${engine}" == "unreal2" ]||[ "${engine}" == "source" ]; then ulxcount=$(find "${ulxlogdir}"/ -type f -mtime +${logdays}|wc -l)
find "${gamelogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \; find "${ulxlogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
fi
if [ -d "${darkrplogdir}" ]; then
find "${darkrplogdir}"/ -type f -mtime +${logdays}|tee >> "${scriptlog}"
darkrpcount=$(find "${darkrplogdir}"/ -type f -mtime +${logdays}|wc -l)
find "${darkrplogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
fi fi
find "${scriptlogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
if [ -n "${consolelog}" ]; then
find "${consolelogdir}"/ -mtime +${logdays} -type f -exec rm -f {} \;
fi fi
fi
# Count total amount of files removed
count=$((${scriptcount} + ${consolecount} + ${gamecount} + ${srcdscount} + ${smcount} + ${ulxcount} + ${darkrpcount}))
# Job done
fn_printok "Removed ${count} log files" fn_printok "Removed ${count} log files"
fn_scriptlog "Removed ${count} log files" fn_scriptlog "Removed ${count} log files"
sleep 1 sleep 1

Loading…
Cancel
Save