small-package/luci-app-minieap/files/root/usr/sbin/minieap-ping

24 lines
635 B
Bash

#!/bin/sh
kill $(cat /var/log/minieap-ping.pid 2>/dev/null) 2>/dev/null
echo $$ > /var/log/minieap-ping.pid
ping_host=$(uci get minieap.@minieap[0].pinghost)
ping_intval=$(uci get minieap.@minieap[0].pingintval)
ping_command=$(uci get minieap.@minieap[0].pingcommand)
ipint=$(echo $ping_host | awk -F "." '{print $1*2**8**3 + $2*2**8**2 + $3*2**8 + $4}')
if [[ $ipint -le 0 ]] || [[ $ipint -ge 4294967295 ]]; then
exit
fi
if [ ! -z $ping_host ]; then
while true
do
ping -c1 -w1 $ping_host > /dev/null 2>&1
if [ $? -ne 0 ]; then
$ping_command
fi
sleep $ping_intval
done
fi