minor change not worth adressing

This commit is contained in:
2026-04-21 19:17:10 -04:00
parent d4bf31a5f4
commit 107b9d99fe
3 changed files with 19 additions and 13 deletions
+3 -3
View File
@@ -140,7 +140,7 @@ The same share lists are used by `failover.sh` for Tier 4 writeback — but in t
Runs a clean nightly sync for Emby and the auth stack (Critical-Data) with containers stopped. This is the companion to the hourly dirty sync — it provides a fully consistent state on HOST2 once per night. Runs a clean nightly sync for Emby and the auth stack (Critical-Data) with containers stopped. This is the companion to the hourly dirty sync — it provides a fully consistent state on HOST2 once per night.
```bash ```bash
# Scheduled as: 30 2 * * * (2:30am daily — after daily_sync.sh finishes) # Scheduled as: 30 2 * * 0 (2:30am Sunday — weekly clean sync)
/mnt/user/appdata/unraid_scripts/Orchestrators/nightly_critical_full_sync.sh /mnt/user/appdata/unraid_scripts/Orchestrators/nightly_critical_full_sync.sh
``` ```
@@ -303,10 +303,10 @@ This pattern means:
*/3 * * * * transcode_management.sh # cleanup then manager — every 3 minutes */3 * * * * transcode_management.sh # cleanup then manager — every 3 minutes
0 1 * * * daily_sync.sh # 1am — media shares to remote 0 1 * * * daily_sync.sh # 1am — media shares to remote
0 2 * * * media_management.sh # 2am — permissions, cleaners, arr cleanup 0 2 * * * media_management.sh # 2am — permissions, cleaners, arr cleanup
30 2 * * * nightly_critical_full_sync.sh # 2:30am — clean Emby + auth stack sync 30 2 * * 0 nightly_critical_full_sync.sh # 2:30am Sunday — clean Emby + auth stack
``` ```
The gaps are intentional. `daily_sync.sh` can take 30-60 minutes on a large library. `media_management.sh` starts at 2am giving daily_sync an hour to finish. `nightly_critical_full_sync.sh` starts at 2:30am giving media_management time to complete its permission and cleanup pass before Emby is stopped for the clean sync. `daily_sync.sh` and `media_management.sh` run nightly — media shares and maintenance. `nightly_critical_full_sync.sh` runs weekly on Sunday — it stops Emby and the auth stack for a clean consistent sync. Running it weekly instead of nightly lets Emby's image cache stay warm on HOST2 throughout the week. The emby-failover dirty sync handles watch states, library structure, and auth every 30-60 minutes — the weekly clean sync covers metadata, plugins, and a full database flush.
--- ---
+9 -7
View File
@@ -263,20 +263,22 @@ emby-failover — frequent dirty sync (every 30-60min):
Fast, small dataset, high bandwidth Fast, small dataset, high bandwidth
This is also what gets written back during failover handback This is also what gets written back during failover handback
emby — nightly clean sync (via nightly_sync.sh at 2:30am): emby — weekly clean sync (via nightly_critical_full_sync.sh Sunday 2:30am):
Emby stopped on both sides — WAL checkpointed on shutdown Emby stopped on both sides — WAL checkpointed on shutdown
Full mirror: metadata, plugins, config all included Full mirror: metadata, plugins, config all included
Minimal excludes: logs, transcodes, cache, crash files only Minimal excludes: logs, transcodes, cache, crash files only
Complete faithful state pushed once per night Complete faithful state pushed once per week
Cache stays warm on HOST2 all week — only reset on Sunday
emby-failover handles the critical state between weekly syncs
``` ```
Usage with profile override: Usage with profile override:
```bash ```bash
# Dirty sync — Emby stays running # Dirty sync — Emby stays running
bash rsync.sh /mnt/user/appdata-Failover/Emby --profile=emby-failover bash rsync.sh /mnt/user/Media_Server/Emby --profile=emby-failover
# Clean sync — called by nightly_sync.sh, Emby stopped via profile # Clean sync — called by nightly_critical_full_sync.sh, Emby stopped via profile
bash rsync.sh /mnt/user/appdata-Failover/Emby bash rsync.sh /mnt/user/Media_Server/Emby
``` ```
--- ---
@@ -303,8 +305,8 @@ Set the schedule to match your desired frequency:
| Profile | Schedule | Notes | | Profile | Schedule | Notes |
|---|---|---| |---|---|---|
| `emby-failover` | Every 30-60 min | Dirty sync — Emby running, critical data only | | `emby-failover` | Every 30-60 min | Dirty sync — Emby running, critical data only |
| `emby` | via `nightly_sync.sh` | Clean sync — Emby stopped, full mirror | | `emby` | Weekly Sunday via `nightly_critical_full_sync.sh` | Clean sync — Emby stopped, full mirror, cache stays warm all week |
| `Critical-Data` | via `nightly_sync.sh` | Auth stack — clean nightly sync | | `Critical-Data` | Weekly Sunday via `nightly_critical_full_sync.sh` | Auth stack — clean weekly sync |
| `Important-Data` | Every 6-12 hours | NextCloud file changes | | `Important-Data` | Every 6-12 hours | NextCloud file changes |
| `Arrs_Stack` | Every 12-24 hours | Arr databases | | `Arrs_Stack` | Every 12-24 hours | Arr databases |
| `Gmer4Lfe` | Daily or weekly | Personal appdata, rarely changes | | `Gmer4Lfe` | Daily or weekly | Personal appdata, rarely changes |
+7 -3
View File
@@ -172,7 +172,10 @@
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Arrs_Stack #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Arrs_Stack
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Critical-Data #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Critical-Data
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Important-Data #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Important-Data
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Emby --profile=emby-failover #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby --profile=emby-failover
# ^^ schedule every 30-60min — dirty sync, Emby running, critical data only
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby
# ^^ do NOT schedule — called by nightly_critical_full_sync.sh weekly Sunday 2:30am only
#/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Gmer4Lfe #/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/appdata-Failover/Gmer4Lfe
# #
# ━━━ Rsync — Individual Media Shares (ad hoc) ━━━ # ━━━ Rsync — Individual Media Shares (ad hoc) ━━━
@@ -288,7 +291,7 @@
# #
# ━━━ Frequent (cron) ━━━ # ━━━ Frequent (cron) ━━━
# */3 * * * * transcode_management.sh (cleanup + manager every 3min) # */3 * * * * transcode_management.sh (cleanup + manager every 3min)
# */30 * * * * rsync.sh /mnt/user/appdata-Failover/Emby (emby-failover dirty sync) # */30 * * * * rsync.sh /mnt/user/Media_Server/Emby (emby-failover dirty sync)
# --profile=emby-failover # --profile=emby-failover
# */10 * * * * webgui_restart.sh # */10 * * * * webgui_restart.sh
# */15 * * * * docker_watchdog.sh # */15 * * * * docker_watchdog.sh
@@ -297,7 +300,7 @@
# ━━━ Daily ━━━ # ━━━ Daily ━━━
# 0 1 * * * daily_sync.sh (media shares both directions) # 0 1 * * * daily_sync.sh (media shares both directions)
# 0 2 * * * media_management.sh (permissions + cleaners + arrs) # 0 2 * * * media_management.sh (permissions + cleaners + arrs)
# 30 2 * * * nightly_critical_full_sync.sh (clean Emby + auth stack sync) # 30 2 * * 0 nightly_critical_full_sync.sh (clean Emby + auth stack sync)
# 0 3 * * * docker_daily_restart.sh # 0 3 * * * docker_daily_restart.sh
# 0 8 * * * weekly_health_digest.sh (profile controls if it sends) # 0 8 * * * weekly_health_digest.sh (profile controls if it sends)
# #
@@ -310,6 +313,7 @@
# emby-failover — every 30-60min via frequent cron above # emby-failover — every 30-60min via frequent cron above
# #
# ━━━ Weekly — Sunday morning block ━━━ # ━━━ Weekly — Sunday morning block ━━━
# 30 2 * * 0 nightly_critical_full_sync.sh (clean Emby + auth stack — cache resets weekly)
# 0 3 * * 0 docker_weekly_restart.sh # 0 3 * * 0 docker_weekly_restart.sh
# 0 5 * * 0 clear_logs.sh # 0 5 * * 0 clear_logs.sh
# 0 6 * * 0 zfs_memory_snapshot.sh # 0 6 * * 0 zfs_memory_snapshot.sh