From a7be7b39b6427ad1a1d8351fb7218eb214f1279a Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Wed, 5 Mar 2025 19:21:03 +0100 Subject: [PATCH] Feat: Laget is_reachable in eigene Datei aus --- Utility/IsReachable.sh | 24 ++++++++++++++++++++++++ Utility/WakeOnLan.sh | 19 ++----------------- 2 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 Utility/IsReachable.sh mode change 100755 => 100644 Utility/WakeOnLan.sh diff --git a/Utility/IsReachable.sh b/Utility/IsReachable.sh new file mode 100644 index 0000000..cfb615d --- /dev/null +++ b/Utility/IsReachable.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# === IMPORTS === +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +source "$SCRIPT_DIR/Log.sh" + +# === Funktionen === + +is_reachable() { + local device_ip="$1" + local max_retries="$2" # Zweiter Parameter gibt die Anzahl der Versuche an + + for ((i = 1; i<=max_retries; i++)); do + log "Teste Erreichbarkeit von $device_ip - Versuch $i/$max_retries..." + if ping -c 1 -W 2 "$device_ip" &>/dev/null; then + log "Gerät $device_ip ist erreichbar." + return 0 + fi + sleep "$PING_WAIT" + done + + log "Gerät $device_ip ist NICHT erreichbar." + return 1 +} \ No newline at end of file diff --git a/Utility/WakeOnLan.sh b/Utility/WakeOnLan.sh old mode 100755 new mode 100644 index 4247be7..01568a3 --- a/Utility/WakeOnLan.sh +++ b/Utility/WakeOnLan.sh @@ -3,6 +3,8 @@ # === IMPORTS === SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/NetworkCheck.sh" +source "$SCRIPT_DIR/IsReachable.sh" +source "$SCRIPT_DIR/IpFromMac.sh" source "$SCRIPT_DIR/Log.sh" # === KONFIGURATION === @@ -14,23 +16,6 @@ WOL_WAIT=60 # Wartezeit nach WOL (Sekunden) # === FUNKTIONEN === -is_reachable() { - local device_ip="$1" - local max_retries="$2" # Zweiter Parameter gibt die Anzahl der Versuche an - - for ((i = 1; i<=max_retries; i++)); do - log "Teste Erreichbarkeit von $device_ip - Versuch $i/$max_retries..." - if ping -c 1 -W 2 "$device_ip" &>/dev/null; then - log "Gerät $device_ip ist erreichbar." - return 0 - fi - sleep "$PING_WAIT" - done - - log "Gerät $device_ip ist NICHT erreichbar." - return 1 -} - send_wol() { local device_mac="$1" log "Sende Wake-on-LAN Signal an $device_mac..."