release v1.0
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# mariadb_clean_stop.sh - Cierre limipio del contenedor de MariaDB en una maquina
|
||||
|
||||
# CONFIGURACION ---------------------------------------------------------------
|
||||
set -uo pipefail
|
||||
# -u -> si no existe una variable devuelve error en vez de tratarla como cadnea vacia
|
||||
# -o pipefail -> devuelve los errores de cualquier pipe no solo del ultimo
|
||||
|
||||
# VARIABLES
|
||||
CONTAINER="mariadb"
|
||||
GRACE=60
|
||||
LOG="/var/log/safe-shutdown.log"
|
||||
# -----------------------------------------------------------------------------
|
||||
# funcion para escribir en el log
|
||||
log() { echo "$(date -Is) [mariadb-safe-stop] $*" | tee -a "$LOG"; }
|
||||
|
||||
# PROGRAMA --------------------------------------------------------------------
|
||||
log "inicio"
|
||||
|
||||
# Comprobacion de que el contenedor esta corriendo
|
||||
# Lista los nombres de los contenedores activos y busca exactamente el nombre de $CONTAINER
|
||||
# Si no lo encuentra escribe un aviso en el log y sale con 0
|
||||
if ! docker ps --format '{{.Names}}' | grep -qx "$CONTAINER"; then
|
||||
log "AVISO: el contenedor '$CONTAINER' no esta corriendo. Nada que hacer."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Parada del contenedor
|
||||
log "parando contenedor '$CONTAINER' (tiempo de gracia: ${GRACE}s)..."
|
||||
if docker stop -t "$GRACE" "$CONTAINER" >/dev/null; then
|
||||
log "OK: Contenedor parado con exito"
|
||||
else
|
||||
log "ERROR: docker stop falló"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Verificacion del estado del contenedor
|
||||
if docker ps --format '{{.Names}}' | grep -qx "$CONTAINER"; then
|
||||
log "ERROR: '$CONTAINER' sigue activo despues del stop"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "contenedor '$CONTAINER' detenido correctamente"
|
||||
log "fin"
|
||||
Reference in New Issue
Block a user