feat: intermediate orchestrator + arr_sync blocklist end-to-end + mesh sync
Add intermediate_sync_maintenance.sh (0 */4 * * *) — arr library sync as fixed first step, optional mid-day rsync (INTERMEDIATE_SYNC_SHARES, empty by default), then INTERMEDIATE_MAINTENANCE_SCRIPTS. Wired with full rsync infrastructure (temperature abort, check_rsync_enabled, INTERMEDIATE_RSYNC_ENABLED toggle) matching daily/weekly pattern. lidarr_missing_art.sh scheduled here. arr_sync.sh: blocklist --add now end-to-end — looks up real display name from local arr API, writes TSV, deletes from local arr API (deleteFiles=false), SSHes each remote node and deletes from their arr API. Files become orphans for arr_cleanup safety pass. master.conf: DEFAULT_RSYNC_OPTS updated (--partial, --timeout=60, --numeric-ids; --no-whole-file removed). Media share comments updated to mesh model. master_host1.conf + master_host2.conf: both hosts now push all media shares bidirectionally (true mesh — no ownership per share, arr_cleanup enforces truth). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
6674dd4c17
commit
f277ce92d5
+8
-3
@@ -110,9 +110,12 @@
|
||||
# ==============================================================================================
|
||||
|
||||
# ━━━ Daily Sync Shares ━━━
|
||||
# Shares HOST1 owns and pushes to HOST2 every night (1am via daily_sync_maintenance.sh).
|
||||
# HOST1 is the source of truth — HOST2 is the mirror.
|
||||
# Never push a share both directions — one server always owns it.
|
||||
# Shares HOST1 pushes to all other nodes every night (1am via daily_sync_maintenance.sh).
|
||||
# Mesh model: every node pushes every media share — no ownership, no mirrors.
|
||||
# arr_sync ensures all arr libraries converge (union). rsync spreads files (additive, no --delete).
|
||||
# arr_cleanup removes true orphans based on local arr state.
|
||||
# Any node can download content to any share — it propagates to all nodes on the next cycle.
|
||||
# Nextcloud is intentionally one-directional (HOST1→HOST2 offsite backup — not arr-managed).
|
||||
# Uses DEFAULT_RSYNC_OPTS from master.conf — no profile needed.
|
||||
# For shares needing container stops or custom options — add a profile in master.conf.
|
||||
HOST1_DAILY_SYNC_SHARES=(
|
||||
@@ -129,6 +132,8 @@
|
||||
/mnt/user/Tv_Shows
|
||||
/mnt/user/Anime_Shows-Old
|
||||
/mnt/user/Anime_Movies-Old
|
||||
/mnt/user/Anime_Movies
|
||||
/mnt/user/Anime_Shows
|
||||
)
|
||||
|
||||
# Personal encrypted shares — synced for offsite backup, independent of media shares.
|
||||
|
||||
Reference in New Issue
Block a user