#!/bin/bash
#
# BRUNIE
#
# Datenbanken herunterfahren
#
# Angepasst fr:
#   - CentOS 10
#   - GT.M 7.1
#

###############################################################################
# Grundeinstellungen
###############################################################################

BRUNIE_DIR="/brunie"
GTM_DIR="/usr/gtm"
BRUNIE_USER="brunie"

###############################################################################
# Benutzer prfen
###############################################################################

if [ "$(id -un)" != "${BRUNIE_USER}" ]; then
    echo
    echo "   Nur unter Benutzer '${BRUNIE_USER}' zugelassen!"
    echo
    exit 1
fi

###############################################################################
# GT.M prfen
###############################################################################

if [ ! -x "${GTM_DIR}/mupip" ]; then
    echo
    echo "   FEHLER: GT.M MUPIP wurde nicht gefunden:"
    echo "     ${GTM_DIR}/mupip"
    echo
    exit 1
fi

###############################################################################
# BRUNIE-Verzeichnis
###############################################################################

if [ ! -d "${BRUNIE_DIR}" ]; then
    echo
    echo "   FEHLER: BRUNIE-Verzeichnis wurde nicht gefunden:"
    echo "     ${BRUNIE_DIR}"
    echo
    exit 1
fi

cd "${BRUNIE_DIR}" || {
    echo
    echo "   FEHLER: Kann nicht nach ${BRUNIE_DIR} wechseln."
    echo
    exit 1
}

###############################################################################
# GT.M Umgebung
###############################################################################

export gtm_dist="${GTM_DIR}"
export PATH="${PATH}:${GTM_DIR}"

###############################################################################
# UCI-Datenbanken herunterfahren
###############################################################################

echo "   Freeing databases:"

shopt -s nullglob

DB_FILES=( *.dat )

for db in "${DB_FILES[@]}"
do

    nam="${db%.dat}"

    echo "   - Freeing ${nam}"

    "${GTM_DIR}/mupip" rundown -f "${nam}.dat" \
        >/dev/null 2>&1 || true

    if [ -f "${nam}.tmp" ]; then
        "${GTM_DIR}/mupip" rundown -f "${nam}.tmp" \
            >/dev/null 2>&1 || true
    fi

done

###############################################################################
# Globale Datenbanken herunterfahren
###############################################################################

echo "   Freeing global databases:"

DB_FILES=( *.db )

for db in "${DB_FILES[@]}"
do

    echo "   - Freeing ${db}"

    "${GTM_DIR}/mupip" rundown -f "${db}" \
        >/dev/null 2>&1 || true

done

shopt -u nullglob

echo "   Done."

exit 0