timestamp_mysql_check/run_timestamp_check.sh

46 lines
1.6 KiB
Bash

#!/bin/bash
# Skript zur Ausführung des MySQL-Timestamp-Check-Skripts
# Autor:
# Datum: $(date +%Y-%m-%d)
# Verzeichnis des Skripts bestimmen
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# Log-Datei
LOG_FILE="${SCRIPT_DIR}/timestamp_check_$(date +%Y-%m-%d).log"
# Python-Umgebung aktivieren (falls eine virtuelle Umgebung verwendet wird)
# Auskommentieren, wenn keine virtuelle Umgebung verwendet wird
# source "${SCRIPT_DIR}/venv/bin/activate"
# Start des Skripts loggen
echo "$(date +"%Y-%m-%d %H:%M:%S") - Starte MySQL Timestamp Check" | tee -a "$LOG_FILE"
# Zum Skriptverzeichnis wechseln
cd "$SCRIPT_DIR"
# Python-Skript ausführen
# Mögliche Parameter:
# --test: Testmodus (keine E-Mail senden)
# --timestamp-column=spaltenname: falls andere Spalte als add_date verwendet werden soll
# Normale Ausführung
python3 mysql_timestamp_check.py 2>&1 | tee -a "$LOG_FILE"
# Testmodus (auskommentiert)
# python mysql_timestamp_check.py --test 2>&1 | tee -a "$LOG_FILE"
# Exit-Code des Python-Skripts erhalten
EXIT_CODE=${PIPESTATUS[0]}
# Ende des Skripts loggen
echo "$(date +"%Y-%m-%d %H:%M:%S") - MySQL Timestamp Check beendet (Exit-Code: $EXIT_CODE)" | tee -a "$LOG_FILE"
# E-Mail bei Fehler im Skript selbst (nicht bei fehlenden Daten, da das Python-Skript dies bereits handhabt)
if [ $EXIT_CODE -ne 0 ] && [ $EXIT_CODE -ne 1 ]; then
# Hier kann optional eine E-Mail für Fehler im Skript selbst gesendet werden
echo "Fehler beim Ausführen des Timestamp-Check-Skripts. Bitte überprüfen Sie die Log-Datei $LOG_FILE" | tee -a "$LOG_FILE"
fi
exit $EXIT_CODE