46 lines
1.6 KiB
Bash
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
|
|
python 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 |