From 1e769a8fa2ce9539a0eefb1bcd4f76b92f5dcb05 Mon Sep 17 00:00:00 2001 From: RandomNinjaAtk Date: Sat, 15 Jul 2023 16:10:04 -0400 Subject: [PATCH] v1.4 - New script interval, logging improvements #18 --- sonarr/InvalidSeriesAutoCleaner.service | 43 ++++++++++++++++++------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/sonarr/InvalidSeriesAutoCleaner.service b/sonarr/InvalidSeriesAutoCleaner.service index b224881..0b90a76 100644 --- a/sonarr/InvalidSeriesAutoCleaner.service +++ b/sonarr/InvalidSeriesAutoCleaner.service @@ -1,20 +1,39 @@ #!/usr/bin/env bash -scriptVersion="1.3" +scriptVersion="1.4" scriptName="InvalidSeriesAutoCleaner" -#### Import Settings -source /config/extended.conf - log () { m_time=`date "+%F %T"` echo $m_time" :: $scriptName :: $scriptVersion :: "$1 } -if [ "$enableInvalidSeriesAutoCleaner" != "true" ]; then +logfileSetup () { + # auto-clean up log file to reduce space usage + if [ -f "/config/logs/$scriptName.txt" ]; then + find /config/logs -type f -name "$scriptName.txt" -size +1024k -delete + fi + + if [ ! -f "/config/logs/$scriptName.txt" ]; then + touch "/config/logs/$scriptName.txt" + chmod 666 "/config/logs/$scriptName.txt" + fi + exec &> >(tee -a "/config/logs/$scriptName.txt") +} + +verifyConfig () { + #### Import Settings + source /config/extended.conf + + if [ "$enableInvalidSeriesAutoCleaner" != "true" ]; then log "Script is not enabled, enable by setting enableInvalidSeriesAutoCleaner to \"true\" by modifying the \"/config/extended.conf\" config file..." log "Sleeping (infinity)" sleep infinity -fi + fi + + if [ -z "$invalidSeriesAutoCleanerScriptInterval" ]; then + invalidSeriesAutoCleanerScriptInterval="1h" + fi +} getArrAppInfo () { # Get Arr App information @@ -92,14 +111,16 @@ InvalidSeriesAutoCleanerProcess () { done } -echo "Starting Script...." for (( ; ; )); do let i++ - getArrAppInfo - verifyApiAccess + logfileSetup + log "Script starting..." + verifyConfig + getArrAppInfo + verifyApiAccess InvalidSeriesAutoCleanerProcess - echo "Script sleeping for 2 hours..." - sleep 2h + echo "Script sleeping for $invalidSeriesAutoCleanerScriptInterval..." + sleep $invalidSeriesAutoCleanerScriptInterval done exit