Add weekly full-library rescan job for Lidarr/Sonarr/Radarr

Organic scans only touch files actually involved in an import — an
artist/series/movie that already has files sitting untouched on disk
never gets its tracked-file stats refreshed on its own. Confirmed
2026-07-16: Lidarr reported ~23% of its true trackFileCount with no
scan running, for artists whose files were verified present and
readable the whole time. Downstream scripts trust these stats as
source of truth for the share, so drift needs to be caught before
someone notices a suspiciously low number.
This commit is contained in:
Gmer4Lfe
2026-07-16 15:57:12 -04:00
parent c7ecf99c3f
commit fb13958881
2 changed files with 156 additions and 0 deletions
+6
View File
@@ -425,6 +425,7 @@
"Docker_Essentials/docker_weekly_restart.sh" # weekly container restarts after sync
"Docker_Essentials/docker_update_remaining.sh" # pull updates for all other containers
"unRAID_Essentials/clear_logs.sh" # purge aged logs — Sunday only, low priority
"Arrs_Stack/arr_full_rescan.sh" # full disk↔DB reconciliation for Lidarr/Sonarr/Radarr — keeps tracked stats honest, runs before discovery so it works off fresh data
"Arrs_Stack/playback_aware_lidarr_discovery.sh" # behavior-driven music discovery using weekly Emby playback history
"Arrs_Stack/playback_aware_radarr_discovery.sh" # behavior-driven movie discovery using TMDB recommendations
"Arrs_Stack/playback_aware_sonarr_discovery.sh" # behavior-driven TV discovery using TMDB recommendations
@@ -1240,6 +1241,11 @@
# candidate is this language; an existing file in a
# different language is always considered upgradeable
# ━━━ Arr Full Library Rescan ━━━
# arr_full_rescan.sh — weekly disk↔DB reconciliation for Lidarr/Sonarr/Radarr. See script
# header for why this exists (2026-07-16 stale-stats incident).
ARR_FULL_RESCAN_TIMEOUT=3600 # seconds per arr — a full-library walk, not a single release
# ==============================================================================================
# ── TRANSCODES ────────────────────────────────────────────────────────────────────────────────
# ==============================================================================================