lidarr-dl/universal/services/Recyclarr
2024-07-03 14:43:40 -04:00

65 lines
1.6 KiB
Bash

#!/usr/bin/env bash
scriptVersion="1.8"
scriptName="Recyclarr"
#### Import Settings
source /config/extended.conf
#### Import Functions
source /config/extended/functions
#### Create Log File
logfileSetup
logfile="/config/logs/$logFileName"
log() {
m_time=$(date "+%F %T")
echo "$m_time :: $scriptName :: $scriptVersion :: $1" | tee -a "$logfile"
}
verifyConfig () {
if [ "$enableRecyclarr" != "true" ]; then
log "Script is not enabled, enable by setting enableRecyclarr to \"true\" by modifying the \"/config/extended.conf\" config file..."
log "Sleeping (infinity)"
sleep infinity
fi
if [ -z "$recyclarrScriptInterval" ]; then
recyclarrScriptInterval="6h"
fi
}
RecyclarrProcess () {
# Configure Yaml with URL and API Key
sed -i "s%arrUrl%$arrUrl%g" "/config/extended/recyclarr.yaml"
sed -i "s%arrApi%$arrApiKey%g" "/config/extended/recyclarr.yaml"
log "Updating Arr via Recyclarr"
if [ ! -d /config/extended/recyclarr-data ]; then
mkdir -p /config/extended/recyclarr-data
chmod 777 /config/extended/recyclarr-data
fi
# Capture the output of the Recyclarr command
recyclarr_output=$(/recyclarr/recyclarr sync -c $recyclarrConfig --app-data /config/extended/recyclarr-data 2>&1)
# Log the output line by line
while IFS= read -r line; do
log "$line"
done <<< "$recyclarr_output"
log "Complete"
}
# Main Loop
for (( ; ; )); do
logfileSetup
verifyConfig
getArrAppInfo
verifyApiAccess
RecyclarrProcess
log "Script sleeping for $recyclarrScriptInterval..."
sleep $recyclarrScriptInterval
done
exit