lidarr-dl/universal/services/Recyclarr

63 lines
1.5 KiB
Text
Raw Normal View History

2023-07-09 17:42:04 +02:00
#!/usr/bin/env bash
scriptVersion="1.8"
2023-07-12 13:36:27 +02:00
scriptName="Recyclarr"
2023-07-20 13:18:55 +02:00
#### Import Settings
source /config/extended.conf
#### Import Functions
source /config/extended/functions
#### Create Log File
2023-07-19 20:12:41 +02:00
logfileSetup
2024-07-03 17:55:14 +02:00
2024-07-03 20:41:10 +02:00
logfile="/config/logs/$logFileName"
2024-07-03 17:55:14 +02:00
2024-07-03 20:41:10 +02:00
log() {
m_time=$(date "+%F %T")
echo "$m_time :: $scriptName :: $scriptVersion :: $1" | tee -a "$logfile"
}
2023-07-19 20:12:41 +02:00
2023-07-14 21:37:49 +02:00
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
2023-07-15 16:52:47 +02:00
if [ -z "$recyclarrScriptInterval" ]; then
2023-07-15 21:45:32 +02:00
recyclarrScriptInterval="6h"
2023-07-15 16:52:47 +02:00
fi
2023-07-14 21:37:49 +02:00
}
2024-07-03 20:41:10 +02:00
RecyclarrProcess () {
2023-07-09 17:42:04 +02:00
# Configure Yaml with URL and API Key
sed -i "s%arrUrl%$arrUrl%g" "/config/extended/recyclarr.yaml"
2024-07-03 20:41:10 +02:00
sed -i "s%arrApi%$arrApiKey%g" "/config/extended/recyclarr.yaml"
2023-07-09 17:42:04 +02:00
log "Updating Arr via Recyclarr"
2024-07-03 20:41:10 +02:00
2023-07-10 12:47:13 +02:00
if [ ! -d /config/extended/recyclarr-data ]; then
mkdir -p /config/extended/recyclarr-data
chmod 777 /config/extended/recyclarr-data
fi
2024-07-03 20:22:38 +02:00
# Run Recyclarr and capture the output
2024-07-03 20:36:06 +02:00
/recyclarr/recyclarr sync -c $recyclarrConfig --app-data /config/extended/recyclarr-data 2>&1 | while IFS= read -r line; do
2024-07-03 20:41:10 +02:00
echo "$(date "+%F %T") :: $scriptName :: $scriptVersion :: $line" | tee -a "$logfile"
2024-07-03 20:36:06 +02:00
done
2024-07-03 20:41:10 +02:00
2023-07-09 17:42:04 +02:00
log "Complete"
}
2024-07-03 20:41:10 +02:00
# Main Loop
2023-07-09 17:42:04 +02:00
for (( ; ; )); do
2024-07-03 17:55:14 +02:00
logfileSetup
verifyConfig
getArrAppInfo
verifyApiAccess
RecyclarrProcess
log "Script sleeping for $recyclarrScriptInterval..."
sleep $recyclarrScriptInterval
2023-07-09 17:42:04 +02:00
done
exit