#!/bin/bash function check_sql_activity() { # Abruf des letzten Auftrag-Zeitpunkts last_order_time=$(mysql -u $DB_USER -p$DB_PASSWORD -D $DB_NAME -sse \ "SELECT MAX(create_time) FROM ticket WHERE customer_user_id = 'LIDLWebservice';") # Abruf des letzten Log-Zeitpunkts last_bsi_log_time=$(mysql -u $DB_USER -p$DB_PASSWORD -D $DB_NAME -sse \ "SELECT MAX(create_time) FROM gi_debugger_entry WHERE webservice_id = 13;") # Webservice-ID Variiert nach System, 13 Prod, 19 Test # Überprüfen, ob einer der Werte leer ist if [[ -z "$last_order_time" ]]; then log_error "No last order found for LIDLWebservice." last_order_epoch=0 # Standardwert für Vergleich else log_info "Last order by LIDLWebservice created at: $last_order_time" last_order_epoch=$(date -d "$last_order_time" +%s) fi if [[ -z "$last_bsi_log_time" ]]; then log_error "No last log entry found for Webservice-ID 13." last_bsi_epoch=0 # Standardwert für Vergleich else log_info "Last log entry by Webservice-ID 13 at: $last_bsi_log_time" last_bsi_epoch=$(date -d "$last_bsi_log_time" +%s) fi # Aktuelle Zeit abrufen now=$(date +%s) # Anpassung der Logik: Auftrag > 120 Minuten prüfen, ob Log > 60 Minuten alt if (( (now - last_order_epoch) > 7200 )); then if (( (now - last_bsi_epoch) > 3600 )); then log_critical "SQL activity check failed. Last order older than 120 minutes, and last log older than 60 minutes." restart_service exit 2 # Fehler, Dienst wurde neu gestartet else log_info "Last order is older than 120 minutes, but Webservice log is within acceptable limits." exit 0 # Erfolg fi else log_info "Last order is within acceptable limits. No further checks required." exit 0 # Erfolg fi }