#!/usr/bin/env bash # orchestrate-shutdown.sh — secuencia completa de apagado ordenado. # Lo dispara el watcher al detectar un fichero de señal. # Orden: # 1. HA apaga los Shellys de la instalacion # 2. HA crea el fichero de señal # 3. Se inicia este script # 3.1. Apagado de raspis y/o equipos de servicio # 3.2. Parado de MariaDB set -uo pipefail # CONFIGURACION---------------------------------------------------------------- LOG="/var/log/safe-shutdown.log" APAGADO_NODOS="/usr/local/sbin/service-nodes-shutdown.sh" APAGADO_BDD="/usr/local/sbin/mariadb-shutdown.sh" # ----------------------------------------------------------------------------- log() { echo "$(date -Is) [orchestrate] $*" | tee -a "$LOG"; } log "===== SECUENCIA DE APAGADO INICIADA =====" # 1. Apagar la(s) raspi(s) de servicio por SSH (espera a que hagan halt). log "paso 1: apagando raspis de servicio..." if "$APAGADO_NODOS"; then log "paso 1 ok" else log "paso 1: aviso, el script para el apagado de los nodos devolvio error" fi # 2. Cerrar la base de datos limpiamente. log "paso 2: cerrando la base de datos..." if "$APAGADO_BDD"; then log "paso 2 OK" else log "paso 2: ERROR al cerrar la BD" fi log "===== SECUENCIA DE APAGADO COMPLETADA ====="