0
Отвечен

radiusd_check.sh

Ткачёв Андрей 4 года назад обновлен mikbill (CEO) 4 года назад 6

Уважаемые коллеги!

С скрипте /var/www/mikbill/admin/sys/scripts/radiusd_check.sh используется команда, которая не описана в биллинге: clear_online.


else
# echo "radiusd stoped, restarting"
/etc/init.d/freeradius stop
sleep 1
cd /var/www/mikbill/admin
/usr/bin/php index.php clear_online
/etc/init.d/freeradius start
fi


Она работает или давно устарела?



Благодарю за подсказку.

Как оказалось на практике этот скрипт не работает. Точнее работает, но всегда определяет радиус как не отвечающий на запросы.

Я не слишком серьёзный специалист по программированию на shell и не понимаю логику вот этой команды:

/usr/bin/awk "/$1/ { result=\\$3 } END { print result ? result : 0 }"


Поэтому поэтому могу скромно предложить вот такую версию скрипта:


#!/bin/sh


STATS="/var/log/radius_test.log"
RADTEST="/usr/bin/radtest"


FREERAD_SRV_IP="127.0.0.1"
FREERAD_SECRET="123"


${RADTEST} user password $FREERAD_SRV_IP 1812 $FREERAD_SECRET > $STATS


# TEST=`tail ${STATS}| /usr/bin/awk "/$1/ { result=\\$3 } END { print result ? result : 0 }"`


TEST=`cat ${STATS} | grep "Access-Accept" | awk '{ print $2 }'`


if [ "$TEST" = "Access-Accept" ]


then


# echo "radiusd OK "


exit 0


else


echo "radiusd stopped, restarting"


/etc/init.d/freeradius stop


sleep 1


cd /var/www/mikbill/admin


/usr/bin/php index.php clear_online


/etc/init.d/freeradius start


fi


https://wiki.mikbill.ru/billing/radiusd_check

вот эта версия скрипта которая на вики прекрасно работает!

Только не забудьте добавить NAS с админки с ip 127.0.0.1 и паролем 123.

И еще не забудьте убедиться что у вас установлен radtest и путь к нему исправить если он отличен от /usr/bin/radtest.

Сервис поддержки клиентов работает на платформе UserEcho