router: correct a bug in the script

- Corrected the service restart commands to use the proper syntax for stopping and starting the WAN interface.
- Improved the ping test logic to return success or failure directly, simplifying the main script execution.
- Enhanced error logging by redirecting standard error output to the log file during the ping test.
- Streamlined the ping command to use the configured PING_HOST variable directly.
- Ensured that the script properly handles return values from the ping test function.

These changes improve the reliability and clarity of the WAN monitoring functionality.
This commit is contained in:
tylen 2025-07-08 22:40:32 +03:00
parent 7d5ea44813
commit ea4dea8617

View File

@ -26,10 +26,10 @@ ping_test() {
wan_monitor "Running ping test..." wan_monitor "Running ping test..."
while [ $count_tries -lt $MAX_TRIES ]; do while [ $count_tries -lt $MAX_TRIES ]; do
if /bin/ping -c 1 -W $PING_WAIT $@ >/tmp/wan_check.log; then if /bin/ping -c 1 -W $PING_WAIT $PING_HOST >/tmp/wan_check.log 2>&1; then
ping_test_passed=1 ping_test_passed=1
wan_monitor "Ping test succeeded within $PING_WAIT secs." wan_monitor "Ping test succeeded within $PING_WAIT secs."
exit 0 return 0 # Return success
else else
sleep 1 sleep 1
count_tries=$((count_tries + 1)) count_tries=$((count_tries + 1))
@ -37,12 +37,11 @@ ping_test() {
fi fi
done done
return $ping_test_passed return 1 # Return failure
} }
# Main script execution
if ping_test; then
if [ $(ping_test $PING_HOST) -gt 0 ]; then
wan_monitor "Internet was reachable. No need to restart WAN." wan_monitor "Internet was reachable. No need to restart WAN."
else else
wan_monitor "Pings failed. Internet must be down." wan_monitor "Pings failed. Internet must be down."
@ -50,3 +49,4 @@ else
fi fi