При внедрении биллинга приходится добавлять большое количество пользователей (>2k) можно ли это сделать кроме как через java админку?
В идеале, помогите с шаблоном SQL запроса.
Про urfaclient слышал тут на форуме, но это не то, как понимаю.
Спасибо!
Добавление большого количества пользователей
через java админку добавляется без проблем любое количество пользователей
килобайтный скриптик на баше
у меня изанчальный вариант был на java админке, после покупки урфа клиента был переписан под него
cat adduser.sh
килобайтный скриптик на баше
у меня изанчальный вариант был на 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
Спасибо за ответ, однако
этот скрипт требует urfaclient, есть ли аналогичный скрипт (или похожий способ) но не требующий urfaclient?
можно поподробнее про это
да, но очень медленно и неэффективно и ведёт к ошибкам.через java админку добавляется без проблем любое количество пользователей
этот скрипт требует urfaclient, есть ли аналогичный скрипт (или похожий способ) но не требующий urfaclient?
можно поподробнее про это
к java админке можно обращаться через командную строку?килобайтный скриптик на баше
у меня изанчальный вариант был на java админке
я имел в виду неофициальную консольную java админку от Магнума, тут проходила на форуме, поищи в поиске
java -jar u5sh.jar
java -jar u5sh.jar
Код: Выделить всё
Unofficial UTM 5.2.1.004 Console Utility ver 1.4.3
Developer: rupreht@olympus.ru, evgene@olympus.ru
Please Donate: (WMZ:Z382616962192)
See latest version: http://magnum.olympus.ru
Main Option's (or see u5sh.ini):
--AdminLogin (Default: 'init')
--AdminPass (Default: 'init1')
--CoreHost (Default: '127.0.0.1')
--CorePort (Default: '11758')
--WithOutSSL (Disable SSL)
--help (Main Help)
-debug (Stdout all value, not connection server)
--help --AddUser
--help --EditUser
--help --ChangeTP
--help --ChangeAccount
--help --Techparams
--help --PaymentForAccount (Disabled)
--help --ChangeIpGroup
--help --ChangeInternetStatus
--help --ChangeDiscountPeriod
--help --Groups
--help --Services
Спасибо!
по наводке нашёл, не знаю как сделать ссылку на пост поэтому, попробую, надеюсь сработает:
по наводке нашёл, не знаю как сделать ссылку на пост поэтому, попробую, надеюсь сработает:
Пользуясь случаем хочу сказать огромное спасибо всем тем, кто участвовал в создании консольной админки!!
Миграция с 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