cat /usr/local/etc/rc.d/netcheck
#!/bin/sh
#
# PROVIDE: ipcad
# REQUIRE: DAEMON
#
. /etc/rc.subr
name="netcheck"
rcvar=${name}_enable
load_rc_config ${name}
: ${netcheck_enable="NO"}
cd /tmp
#
$net="net" # профиль РРР
dns="8.8.8.8" # пингуемый адрес ДНС прова
slpm=3 # Время ожидания между проверками инета (в минутах)
# Вместо звёздочек вписиваем свой ХЕШ для обновления freedns.afraid.org
freedns="update.php?*************" #freedns.afraid.org == ddns service # Если не используем freedns.afraid.org то удаляем
#=====================DON'T EDIT in The Lines=======================
slp=$(($slpm * 60))
nr=""
ni=""
tr=0
flog=/var/log/internet.log
#=====================DON'T EDIT in The Lines=======================
fetch -q "http://freedns.afraid.org/dynamic/$freedns" > /dev/null 2>&1 # Если не используем freedns.afraid.org то удаляем
echo "`date "+%d %H:%M"` Freedns Updated" >> $flog # Если не используем freedns.afraid.org то удаляем
while test $tr != 10
do
is=`/sbin/ping -c 3 $dns | grep -c "64 bytes"`
if !(test $is -gt "0")
then
/usr/bin/killall -9 ppp
/usr/bin/killall -KILL ppp
tr=$(( $tr + 1 ))
if !(test $nr)
then
nr=1
timeobr=`date "+%Y/%m/%d %H:%M::%S"`
fi
sleep 10
/usr/sbin/ppp -quiet -ddial -nat $net
sleep 50
fetch -q "http://freedns.afraid.org/dynamic/$freedns" > /dev/null 2>&1 # Если не используем freedns.afraid.org то удаляем
echo "`date "+%d %H:%M"` Freedns Updated" >> $flog # Если не используем freedns.afraid.org то удаляем
else
tr=0
if (test $nr)
then
echo $timeobr Connecnion lost to `date "+%H:%M::%S"` >> $flog
fi
ni=1
sleep $slp
fi
done
shutdown -r now
chmod 755 /usr/local/etc/rc.d/netcheck
echo netcheck_enable=\"YES\" >> /etc/rc.conf
Проверено!
Всё прекрасно работает!!!