Добавление большого количества пользователей

Технические вопросы по UTM 5.0
Ответить
Enemy
Сообщения: 23
Зарегистрирован: Сб авг 02, 2008 13:25

Добавление большого количества пользователей

Сообщение Enemy »

При внедрении биллинга приходится добавлять большое количество пользователей (>2k) можно ли это сделать кроме как через java админку?

В идеале, помогите с шаблоном SQL запроса.

Про urfaclient слышал тут на форуме, но это не то, как понимаю.
Спасибо!

bear
Сообщения: 498
Зарегистрирован: Чт ноя 15, 2007 11:53

Сообщение bear »

через java админку добавляется без проблем любое количество пользователей
килобайтный скриптик на баше
у меня изанчальный вариант был на java админке, после покупки урфа клиента был переписан под него
cat adduser.sh

Код: Выделить всё

#!/bin/bash


while read LURL
do

URF_FULLNAME=`echo $LURL | cut -f1 -d ';'`
URF_PASSWORD=`mkpasswd -l 8 -c 3 -C 2 -s 0`
URF_LOGIN=`echo $LURL | cut -f2 -d ';'`
URF_URL="1"
URF_DATE=`echo $LURL | cut -f3 -d ';'`
URF_ADDR=`echo $LURL | cut -f4 -d ';'`
URF_TEL=`echo $LURL | cut -f5 -d ';'`
URF_INN=`echo $LURL | cut -f6 -d ';'`
URF_KPP=`echo $LURL | cut -f7 -d ';'`
URF_BACC=`echo $LURL | cut -f8 -d ';'`

if [ -n "$URF_LOGIN" ]
then
USER_ID=`/netup/utm5/bin/utm5_urfaclient -a add_user -full_name "$URF_FULLNAME" -login "00$URF_LOGIN" -password $URF_PASSWORD -is_juridical $URF_URL -connect_date $URF_DATE -act_address "$URF_ADDR" -jur_address "$URF_ADDR" -work_tel "$URF_TEL" -kpp_number $URF_KPP -bank_account $URF_BACC -comments "Договор N$URF_LOGIN"`
ID=`echo "$USER_ID" | grep user_id | cut -f9 -d" " | cut -f2 -d= | cut -f1 -d/ | cut -f2 -d'"'`
/netup/utm5/bin/utm5_urfaclient -a link_user_group -group_id 202 -user_id $ID

else
    echo "Ошибка, нет номера договора - NAME = $NAME, LOGIN = $LOGIN DATE = $DATE ADDR = $ADDR TEL = $TEL INN = $INN KPP = $KPP RASCHET = $RASCHET" >> error.log
fi
done < $1

Enemy
Сообщения: 23
Зарегистрирован: Сб авг 02, 2008 13:25

Сообщение Enemy »

Спасибо за ответ, однако
через java админку добавляется без проблем любое количество пользователей
да, но очень медленно и неэффективно и ведёт к ошибкам.

этот скрипт требует urfaclient, есть ли аналогичный скрипт (или похожий способ) но не требующий urfaclient?

можно поподробнее про это
килобайтный скриптик на баше
у меня изанчальный вариант был на java админке
к java админке можно обращаться через командную строку?

bear
Сообщения: 498
Зарегистрирован: Чт ноя 15, 2007 11:53

Сообщение bear »

я имел в виду неофициальную консольную java админку от Магнума, тут проходила на форуме, поищи в поиске
java -jar u5sh.jar

Код: Выделить всё

Unofficial UTM 5.2.1.004 Console Utility ver 1.4.3
Developer&#58; rupreht@olympus.ru, evgene@olympus.ru
Please Donate&#58; &#40;WMZ&#58;Z382616962192&#41;
See latest version&#58; http&#58;//magnum.olympus.ru
Main Option's &#40;or see u5sh.ini&#41;&#58;
       --AdminLogin &#40;Default&#58; 'init'&#41;
       --AdminPass  &#40;Default&#58; 'init1'&#41;
       --CoreHost   &#40;Default&#58; '127.0.0.1'&#41;
       --CorePort   &#40;Default&#58; '11758'&#41;
       --WithOutSSL &#40;Disable SSL&#41;
       --help       &#40;Main Help&#41;
        -debug      &#40;Stdout all value, not connection server&#41;

--help --AddUser
--help --EditUser
--help --ChangeTP
--help --ChangeAccount
--help --Techparams
--help --PaymentForAccount &#40;Disabled&#41;
--help --ChangeIpGroup
--help --ChangeInternetStatus
--help --ChangeDiscountPeriod
--help --Groups
--help --Services

Enemy
Сообщения: 23
Зарегистрирован: Сб авг 02, 2008 13:25

Сообщение Enemy »

Спасибо!

по наводке нашёл, не знаю как сделать ссылку на пост поэтому, попробую, надеюсь сработает:
Пользуясь случаем хочу сказать огромное спасибо всем тем, кто участвовал в создании консольной админки!!
Миграция с NetAMS в NetUP прошла успешно, с несколькими самописными скриптами!!

И, поделюсь тем, что накопал в процессе работы, этакий мини-мануал..
Для создания пользователей мне потребовалось:

* java -jar u5sh.jar --AdminLogin 'gil' --AdminPass 'pass' --CoreHost '192.168.0.1' --CorePort 11758 --AddUser -userLogin 'autotest03' -userPasswd 'tsttst'
(создаем пользователя)
* java -jar u5sh.jar --AdminLogin 'gil' --AdminPass 'pass' --CoreHost '192.168.0.1' --CorePort 11758 --ChangeTP -uid 14 -aid 14 -curTPID 1 -nextTPID 1 -ap 5
(uid и aid берем из `UTM5`.`users`, `UTM5`.`accounts` и `UTM5`.`users_accounts`, ID тарифа подглядываем в админке, ap - расчетный период - так же подглядываем в админке, но берем не сам id расчетного периода, а serial id, т.е., текущий)
* java -jar u5sh.jar --AdminLogin 'gil' --AdminPass 'pass' --CoreHost '192.168.0.1' --CorePort 11758 --Services -add -stype 2 -aid 14 -uid 14 -sid 4 -apid 5
(aid и uid уже сказал, откуда брать, sid - это у меня ID услуги, которая должна была привязаться автоматом к тарифному плану, но не привязалась, подглядел ID в админке, apid - это опять-таки serial id текущего расчетного периода)
* java -jar u5sh.jar --AdminLogin 'gil' --AdminPass 'pass' --CoreHost '192.168.0.1' --CorePort 11758 --Services -add -stype 3 -aid 14 -uid 14 -sid 11 -apid 5 -userIP '192.168.10.250' -usermask '255.255.255.255' -userMAC '00:11:22:33:44:55' -useruseFW -routerID 1
(здесь aid, uid, apid вам уже знакомы, userip, usermask и usermac, думаю, интуитивно понятны, sid - это у меня id услуги передачи IP-трафика, без периодической составляющей, useruseFW - флаг "использовать firewall", routerID - id роутера, естественно)
* java -jar u5sh.jar --AdminLogin 'gil' --AdminPass 'pass' --CoreHost '192.168.0.1' --CorePort 11758 --ChangeIpGroup -add -aid 14 -uid 14 -sid 11 -slinkid 37 -userIP '172.17.0.250' -usermask '255.255.255.255' -userLogin 'autotest03' -userPasswd 'tsttst' -useVPN -routerID 1
(aid, uid, sid, userip, usermask, routerid - опять то же самое, slinkid - самой интересный параметр, я долго его искал в базе, в итоге начал сравнивать по локальному IP-адресу абонента [ SELECT INET_NTOA(`ipg`.`ip` & 0xFFFFFFFF) AS `IP`, `isl`.`id` AS `slink` FROM `UTM5`.`iptraffic_service_links` AS `isl`, `UTM5`.`ip_groups` AS `ipg` WHERE `isl`.`ip_group_id` = `ipg`.`ip_group_id` AND `isl`.`is_deleted` = 0 AND `ipg`.`is_deleted` = 0; ], useVPN - флаг "VPN-подключение", userlogin и userpasswd, думаю, понятно, что пара логин/пароль для VPN-соединения)


В общем, так сумбурно, но все же..
Может, кому-либо понадобится еще..

З.Ы. версия UTM: 5.2.1-006
OS: FreeBSD 6.2

Ответить