From 41ca295b5ad9806400084727d1760487f31451e8 Mon Sep 17 00:00:00 2001 From: "Sebastian L." Date: Tue, 14 May 2024 11:02:27 +0200 Subject: [PATCH] Add timeout option for script command --- config-example | 3 +++ status.sh | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config-example b/config-example index b800be0e9..bfee866c2 100644 --- a/config-example +++ b/config-example @@ -45,6 +45,9 @@ MY_TIMEOUT="2" MY_PING_TIMEOUT="4" MY_PING_COUNT="2" +# Duration we wait for response (only script). +MY_SCRIPT_TIMEOUT="20" + # Route to host MY_TRACEROUTE_HOST="1.1.1.1" # Cloudflare DNS # Sets the number of probe packets per hop diff --git a/status.sh b/status.sh index 18dc24d17..16990f99c 100755 --- a/status.sh +++ b/status.sh @@ -124,6 +124,9 @@ MY_TIMEOUT=${MY_TIMEOUT:-"2"} MY_PING_TIMEOUT=${MY_PING_TIMEOUT:-"4"} MY_PING_COUNT=${MY_PING_COUNT:-"2"} +# Duration we wait for response (only script) +MY_SCRIPT_TIMEOUT=${MY_SCRIPT_TIMEOUT:-20} + # Route to host MY_TRACEROUTE_HOST=${MY_TRACEROUTE_HOST:-"1.1.1.1"} # Cloudflare DNS # Sets the number of probe packets per hop @@ -210,6 +213,7 @@ debug_variables() { echo "MY_TIMEOUT: $MY_TIMEOUT" echo "MY_PING_TIMEOUT: $MY_PING_TIMEOUT" echo "MY_PING_COUNT: $MY_PING_COUNT" + echo "MY_SCRIPT_TIMEOUT: $MY_SCRIPT_TIMEOUT" echo "MY_TRACEROUTE_HOST: $MY_TRACEROUTE_HOST" echo "MY_TRACEROUTE_NQUERIES: $MY_TRACEROUTE_NQUERIES" echo @@ -911,7 +915,7 @@ while IFS=';' read -r MY_COMMAND MY_HOSTNAME_STRING MY_PORT || [[ -n "$MY_COMMAN else cmd="$MY_HOSTNAME" fi - ($cmd &> /dev/null) + (timeout "$MY_SCRIPT_TIMEOUT" "$cmd" &> /dev/null) case "$?" in "0") check_downtime "$MY_COMMAND" "$MY_HOSTNAME_STRING" "$MY_PORT"