From d4af776a9f7f7ae4cccd7aa93a260c56f34601b6 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Fri, 1 Sep 2017 13:59:19 +0100 Subject: [PATCH] added fn_info_logs --- lgsm/functions/alert_email.sh | 50 +-------------------------------- lgsm/functions/alert_mailgun.sh | 28 ++++++++++++++++-- lgsm/functions/info_messages.sh | 44 +++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 52 deletions(-) diff --git a/lgsm/functions/alert_email.sh b/lgsm/functions/alert_email.sh index b31020d08..12a551cce 100644 --- a/lgsm/functions/alert_email.sh +++ b/lgsm/functions/alert_email.sh @@ -83,61 +83,13 @@ fn_details_gameserver(){ } | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"| tee -a "${emaillog}" > /dev/null 2>&1 } -fn_alert_email_template_logs(){ - echo -e "" - echo -e "${servicename} Logs" - echo -e "=================================" - - if [ -n "${lgsmlog}" ]; then - echo -e "\nScript log\n===================" - if [ ! "$(ls -A ${lgsmlogdir})" ]; then - echo "${lgsmlogdir} (NO LOG FILES)" - elif [ ! -s "${lgsmlog}" ]; then - echo "${lgsmlog} (LOG FILE IS EMPTY)" - else - echo "${lgsmlog}" - tail -25 "${lgsmlog}" - fi - echo "" - fi - - if [ -n "${consolelog}" ]; then - echo -e "\nConsole log\n====================" - if [ ! "$(ls -A ${consolelogdir})" ]; then - echo "${consolelogdir} (NO LOG FILES)" - elif [ ! -s "${consolelog}" ]; then - echo "${consolelog} (LOG FILE IS EMPTY)" - else - echo "${consolelog}" - tail -25 "${consolelog}" | awk '{ sub("\r$", ""); print }' - fi - echo "" - fi - - if [ -n "${gamelogdir}" ]; then - echo -e "\nServer log\n===================" - if [ ! "$(ls -A ${gamelogdir})" ]; then - echo "${gamelogdir} (NO LOG FILES)" - else - echo "${gamelogdir}" - # dos2unix sed 's/\r//' - tail "${gamelogdir}"/* 2>/dev/null | grep -v "==>" | sed '/^$/d' | sed 's/\r//'| tail -25 - fi - echo "" - fi -} - fn_print_dots "Sending Email alert: ${email}" sleep 0.5 fn_script_log_info "Sending Email alert: ${email}" info_distro.sh info_config.sh info_glibc.sh - -check_ip.sh -postdetails=1 info_messages.sh -emaillog="${emaillog}" if [ -f "${emaillog}" ]; then rm "${emaillog}" fi @@ -148,7 +100,7 @@ fi fn_info_message_performance fn_info_message_disk fn_info_message_gameserver - fn_alert_email_template_logs + fn_info_logs } | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"| tee -a "${emaillog}" > /dev/null 2>&1 if [ -n "${emailfrom}" ]; then diff --git a/lgsm/functions/alert_mailgun.sh b/lgsm/functions/alert_mailgun.sh index 42c081edd..707adeaac 100644 --- a/lgsm/functions/alert_mailgun.sh +++ b/lgsm/functions/alert_mailgun.sh @@ -10,7 +10,30 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" fn_print_dots "Sending Email alert: Mailgun: ${email}" sleep 0.5 -mailgunsend=$(curl -s --user "api:${mailguntoken}" -F from="LinuxGSM <${mailgunemailfrom}>" -F to="LinuxGSM Admin <${mailgunemail}>" -F subject="${alertemoji} ${alertsubject} ${alertemoji}" --form-string html="

Message
${alertbody}

Game
${gamename}

Server name
${servername}

Hostname
${HOSTNAME}

Server IP
${ip}:${port}

More info
${alerturl}" https://api.mailgun.net/v3/${mailgundomain}/messages) +info_distro.sh +info_config.sh +info_glibc.sh +info_messages.sh +if [ -f "${emaillog}" ]; then + rm "${emaillog}" +fi + +{ + fn_info_message_head + fn_info_message_distro + fn_info_message_performance + fn_info_message_disk + fn_info_message_gameserver + fn_info_logs +} | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"| tee -a "${emaillog}" > /dev/null 2>&1 + +mailgunsend=$(curl -s --user "api:${mailguntoken}" \ +-F from="LinuxGSM <${mailgunemailfrom}>" \ +-F to="LinuxGSM Admin <${mailgunemail}>" \ +-F subject="${alertemoji} ${alertsubject} ${alertemoji}" \ +-F o:tag='alert' \ +-F o:tag='LinuxGSM' \ +-F text="$(cat ${emaillog})" https://api.mailgun.net/v3/${mailgundomain}/messages) if [ -z "${mailgunsend}" ]; then fn_print_fail_nl "Sending Email alert: Mailgun: ${email}" @@ -18,5 +41,4 @@ if [ -z "${mailgunsend}" ]; then else fn_print_ok_nl "Sending Email alert: Mailgun: ${email}" fn_script_log_pass "Sending Email alert: Mailgun: ${email}" -fi - +fi \ No newline at end of file diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index 74027de35..1bc8f39df 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -403,6 +403,50 @@ fn_info_message_statusbottom(){ echo -e "" } +fn_info_logs(){ + echo -e "" + echo -e "${servicename} Logs" + echo -e "=================================" + + if [ -n "${lgsmlog}" ]; then + echo -e "\nScript log\n===================" + if [ ! "$(ls -A ${lgsmlogdir})" ]; then + echo "${lgsmlogdir} (NO LOG FILES)" + elif [ ! -s "${lgsmlog}" ]; then + echo "${lgsmlog} (LOG FILE IS EMPTY)" + else + echo "${lgsmlog}" + tail -25 "${lgsmlog}" + fi + echo "" + fi + + if [ -n "${consolelog}" ]; then + echo -e "\nConsole log\n====================" + if [ ! "$(ls -A ${consolelogdir})" ]; then + echo "${consolelogdir} (NO LOG FILES)" + elif [ ! -s "${consolelog}" ]; then + echo "${consolelog} (LOG FILE IS EMPTY)" + else + echo "${consolelog}" + tail -25 "${consolelog}" | awk '{ sub("\r$", ""); print }' + fi + echo "" + fi + + if [ -n "${gamelogdir}" ]; then + echo -e "\nServer log\n===================" + if [ ! "$(ls -A ${gamelogdir})" ]; then + echo "${gamelogdir} (NO LOG FILES)" + else + echo "${gamelogdir}" + # dos2unix sed 's/\r//' + tail "${gamelogdir}"/* 2>/dev/null | grep -v "==>" | sed '/^$/d' | sed 's/\r//'| tail -25 + fi + echo "" + fi +} + # Engine/Game Specific details fn_info_message_ark(){