Приветствую всех, прошу не запинывать сразу тапками, новичок...
Использовал скрипт Geont ,все замечательно работает, пытался к нему приладить кусочек отвечающий за нотификации через Telegram, спотыкается, куда копнуть? Кусочек просто вставил в конец скрипта, так нельзя?
#!/opt/bin/sh
ConnName=Rostelecom
counter=/opt/tmp/CountReconnectWan.txt
previp=/opt/tmp/previp.txt
max_tries=10
LIST=`ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][global="yes"][defaultgw="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n`
echo "$LIST" | grep -iwq "$ConnName" || exit 0
_ip=`echo "$LIST" | cut -d, -f3`
_prov=`echo "$LIST" | cut -d, -f2`
_iface=`echo "$LIST" | cut -d, -f1`
_via=`echo "$LIST" | cut -d, -f4`
if echo "$_ip" | grep -qE "^(10\.|100\.6[4-9]\.|100\.[7-9][0-9]\.|100\.1[01][0-9]\.|100\.12[0-7]\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[01]\.)"; then
[ -f "$counter" ] || echo "0" > $counter
try_nr=$(cat $counter)
try_nr=$((++try_nr))
if [ $try_nr -gt $max_tries ]; then
echo "0" > $counter
logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Too much tries. Exit"
exit
fi
echo "$try_nr" > $counter
logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Reloading WAN due grey IP - $_ip. Try $try_nr of $max_tries."
ndmq -p "interface $_iface no connect via $_via" -P message
sleep 5
ndmq -p "interface $_iface connect via $_via" -P message
else
echo "0" > $counter
[ -f "$previp" ] || echo "0.0.0.0" > $previp
_previp=$(cat $previp)
if [ "$_previp" != "$_ip" ]; then
logger -t white_ip[$$] "Provider: $_prov, interface: $_iface, white IP - $_ip."
echo "$_ip" > $previp
fi
fi
/opt/bin/tg_say.sh "Force reconnect to get real IP (try $try_nr of $max_tries)."
echo "$try_nr" > $counter
ndmq -p "no interface $interface connect"
sleep 5
ndmq -p "interface $interface connect"
echo '0' > $counter
fi