chore: resilience boot (sudoers, purge, image docker), goldens de non-regression, doc des 3 canaux
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
# resilience_boot.sh — Résilience C2 · à planifier en tâche DSM
|
||||
# « Au démarrage », utilisateur ROOT (recrée la règle sudoers).
|
||||
# Rejouable sans risque (idempotent). Journalise dans resilience.log.
|
||||
|
||||
BASE=/volume1/homes/Master/App/Sliding/python-pptx
|
||||
LOG="$BASE/resilience.log"
|
||||
TS=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
# 1. Règle sudoers de la preview (sautée par les MAJ DSM majeures)
|
||||
SUDOERS=/etc/sudoers.d/sliding-preview
|
||||
if [ ! -f "$SUDOERS" ]; then
|
||||
printf 'Master ALL=(root) NOPASSWD: %s/preview.sh\n' "$BASE" > "$SUDOERS"
|
||||
chmod 440 "$SUDOERS"
|
||||
echo "$TS [sudoers] regle sliding-preview RECREEE" >> "$LOG"
|
||||
fi
|
||||
|
||||
# 2. Purge des previews de plus de 30 jours (le disque du DS218 est petit)
|
||||
N=$(find "$BASE/projets" -type d -name "*_previews" -mtime +30 2>/dev/null | wc -l)
|
||||
if [ "$N" -gt 0 ]; then
|
||||
find "$BASE/projets" -type d -name "*_previews" -mtime +30 -exec rm -rf {} + 2>/dev/null
|
||||
echo "$TS [purge] $N dossier(s) de previews > 30j supprimes" >> "$LOG"
|
||||
fi
|
||||
|
||||
# 3. L'image docker de la preview a-t-elle survécu ?
|
||||
DOCKER=/volume1/@appstore/ContainerManager/usr/bin/docker
|
||||
if [ -x "$DOCKER" ]; then
|
||||
if ! "$DOCKER" image inspect sliding-preview >/dev/null 2>&1; then
|
||||
echo "$TS [docker] IMAGE sliding-preview ABSENTE — rebuild requis (voir fiche systeme Trilium)" >> "$LOG"
|
||||
fi
|
||||
else
|
||||
echo "$TS [docker] demon/binaire docker indisponible" >> "$LOG"
|
||||
fi
|
||||
Reference in New Issue
Block a user