lalex 0 Posted 2011-04-14 14:41:28 Share Posted 2011-04-14 14:41:28 требуемая задача: импортировать 300-400 пользователей, например из CSV-файла. в файле по колонкам будут разбиты: ФИО, группа, адресс, IP, логин, пароль, тариф (порядок можно изменить). кто что-то может подсказать по этому поводу? Link to post Share on other sites
madf 279 Posted 2011-04-14 15:43:08 Share Posted 2011-04-14 15:43:08 требуемая задача: импортировать 300-400 пользователей, например из CSV-файла. в файле по колонкам будут разбиты: ФИО, группа, адресс, IP, логин, пароль, тариф (порядок можно изменить). кто что-то может подсказать по этому поводу? Берем любимый язык программирования, разбираем CSV-файл. Потом в цикле по пользователям делаем add_user (XML-RPC или sgconf_xml) за которым следует set_user (XML-RPC или sgconf_xml). Если же пользоваться sgconf то это будет -n а потом изменение каждого поля отдельно. При известной сноровке это можно реализовать даже на bash. Link to post Share on other sites
lalex 0 Posted 2011-04-15 06:19:43 Author Share Posted 2011-04-15 06:19:43 если нет любимого языка программирования? кусок примера можно привести? Link to post Share on other sites
DarkSpider 36 Posted 2011-04-15 06:56:34 Share Posted 2011-04-15 06:56:34 Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести. Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает. Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем /usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг. Link to post Share on other sites
Artem_IPNet 3 Posted 2011-04-15 07:02:31 Share Posted 2011-04-15 07:02:31 Если сами не можете и это нужно сделать один раз, то будет проще написать - кто может это сделать за небольшую плату. И вы не будете себе голову забивать лишней информацией и убивать несколько дней на изучение основ программирования и кто-то сможет Вам помочь и немного заработать. Я именно так и делаю - привлекаю людей, которые разбираются в чем-то лучше, чем я. И у меня работа не стоит из-за простоя и реализация намного лучше, чем сделал бы я. А дальше просто сопровождаю сам, так как было сделано как я хотел. Link to post Share on other sites
yKpon 8 Posted 2011-04-15 07:08:19 Share Posted 2011-04-15 07:08:19 Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести. Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает. Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем /usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг. делай небольшую паузу после выполнения одной операции - виснуть не будет, проверено Link to post Share on other sites
madf 279 Posted 2011-04-15 07:36:39 Share Posted 2011-04-15 07:36:39 Давайте называть вещи своими именами. Если нет любимого языка программирования то нужен не кусок кода а готовая работающая утилита. Так? Link to post Share on other sites
madf 279 Posted 2011-04-15 07:37:56 Share Posted 2011-04-15 07:37:56 Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести. Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает. Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем /usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг. Да, есть такая бага в плагине конфигуратора. Сам пару раз наблюдал. Все руки не доходят исправить Link to post Share on other sites
DarkSpider 36 Posted 2011-04-15 08:09:51 Share Posted 2011-04-15 08:09:51 С паузой как раз и приходится костыли забивать. Я когда-то уже писал про отправку сообщений через КК, тоже, если отправлять несколько - приходит только последнее. А с паузой приходят все. Хотелось бы пример кусок кода любой операции через XML-RPC - остальные подгоню уже по надобности. Например изменении любого поля. Буду благодарен. Link to post Share on other sites
madf 279 Posted 2011-04-15 08:44:08 Share Posted 2011-04-15 08:44:08 С паузой как раз и приходится костыли забивать. Я когда-то уже писал про отправку сообщений через КК, тоже, если отправлять несколько - приходит только последнее. А с паузой приходят все. Хотелось бы пример кусок кода любой операции через XML-RPC - остальные подгоню уже по надобности. Например изменении любого поля. Буду благодарен. В последних двух сборках есть каталог doc в котором есть файлик xmlrpc.php с примерами взаимодействия на PHP. Link to post Share on other sites
lalex 0 Posted 2011-04-15 09:37:05 Author Share Posted 2011-04-15 09:37:05 Давайте называть вещи своими именами. Если нет любимого языка программирования то нужен не кусок кода а готовая работающая утилита. Так? можно в принципе и так сказать. был бы рад любой конкретной помощи. Link to post Share on other sites
morfey 82 Posted 2011-04-15 11:12:41 Share Posted 2011-04-15 11:12:41 Обережно, не тестив(!), але суть повинна бути ясна)) <?php $file = file('file.csv'); $sg = "/usr/sbin/sgconf"; $sg_xml = "/usr/sbin/sgconf_xml"; $login = "admin"; $pass = "password"; $port = "2222"; $host = "localhost"; function encode12($src) { $len = strlen($src); $ofs = ord('a'); $dst = ""; for ($i = 0; $i <= $len; $i++) { $c1 = (ord($src [$i]) & 15) + $ofs; $c2 = (ord($src [$i]) >> 4) + $ofs; $dst .= chr($c1) . chr($c2); } return $dst; } foreach ($file as $val) { $ar = explode(';', $val); ////////////sgconf $cmd = $sg . ' set -s ' . $host . ' -p ' . $port . ' -a ' . $login . ' -w ' . $pass . ' -u ' . $ar[4]; shell_exec($cmd . ' -n '); shell_exec($cmd . ' -A ' . $ar[0]); shell_exec($cmd . ' -G ' . $ar[1]); shell_exec($cmd . ' -D ' . $ar[2]); shell_exec($cmd . ' -I ' . $ar[3]); shell_exec($cmd . ' -o ' . $ar[5]); shell_exec($cmd . ' -t ' . $ar[6] . ':now'); ////////////sgconf_xml /* $cmd2 = $sg_xml . ' -s ' . $host . ' -p ' . $port . ' -a ' . $login . ' -w ' . $pass . ' -r '; shell_exec($cmd2 . ' <AddUser> <login value="' . $arr[4] . '"/></AddUser>'); shell_exec($cmd2 . ' <SetUser> <login value="' . $arr[4] . '"/> <name value="' . encode12($arr[0]) . '" /> <group value="' . encode12($arr[1]) . '" /> <address value="' . encode12($arr[2]) . '" /> <ip value="' . $arr[3] . '" /> <password value="' . $arr[5] . '" /> <tariff now="' . $arr[6] . '" /> </SetUser>'); */ } ?> Можна ще й xmlrpc прив'язати, в xmlrpc.php є приклад. P.S. замініть делімітер на такий як у файлі csv Link to post Share on other sites
lalex 0 Posted 2011-04-20 14:29:12 Author Share Posted 2011-04-20 14:29:12 всё решено. спасибо за помощь. Link to post Share on other sites
imroot 19 Posted 2012-05-28 12:38:13 Share Posted 2012-05-28 12:38:13 Отписую сюда-же чтоб не плодить, нужно из filestore в mysql запихнуть, есть готовые скрипты?? Link to post Share on other sites
nightfly 1,239 Posted 2012-05-28 12:39:58 Share Posted 2012-05-28 12:39:58 cd stg-2.408/projects/convertor/ не? Link to post Share on other sites
imroot 19 Posted 2012-05-28 12:42:23 Share Posted 2012-05-28 12:42:23 да-да уже увидел Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now