Zero_real 4 Опубликовано: 2010-11-18 14:39:37 Share Опубликовано: 2010-11-18 14:39:37 Доброго времени суток! При использовании базы в файлах была возможность создать в папке пользователя файлы OnConnect/OnDisconnect, которые выполнялись для при подключении этого пользователя. Есть ли такая возможность при использовании в качестве бд mysql? Нужно для того, чтобы загонять несколко логинов в одну трубу (pipe). Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-11-19 08:54:51 Share Опубліковано: 2010-11-19 08:54:51 Доброго времени суток! При использовании базы в файлах была возможность создать в папке пользователя файлы OnConnect/OnDisconnect, которые выполнялись для при подключении этого пользователя. Есть ли такая возможность при использовании в качестве бд mysql? Нужно для того, чтобы загонять несколко логинов в одну трубу (pipe). Ну вообще-то эта возможность зависит не от базы а от скриптов OnConnect/OnDisconnect. И я не вижу необходимости в создании этих скриптов под каждого пользователя. А если их 7000? Все можно сделать скриптом, группируя пользователей по какому-то признаку. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2010-11-19 14:52:41 Автор Share Опубліковано: 2010-11-19 14:52:41 Ну это так сказать для еденичных случав. Значит при использовании mysql-базы такой возможности нет? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-11-19 16:41:57 Share Опубліковано: 2010-11-19 16:41:57 На несколько логинов в одну трубу - они берутся и уганяются в табличку. В чем проблема? Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2010-11-20 00:49:11 Автор Share Опубліковано: 2010-11-20 00:49:11 Проблема в том, что номера труб я беру из ID, а параметры из userdata0 и userdata1. Т.е. при подключении пользователя создаются pipe-правила. Это удобно. Изменять ширину трубы можно из конфигуратора. Вопрос в том, как загонять 2 логина в одну трубу (у человека дома 2 компьютера, дабы не ставить ему всяких роутеров с натами просто создается 2 логина, а платит он как за один). В случае с скриптами OnConnect/OnDisconnect в папке пользователя просто создается одна труба на 2 логина с номером, который не попадает в диапазон значений ID и все. Как решить с мусклом? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-11-20 02:01:02 Share Опубліковано: 2010-11-20 02:01:02 А у вас еще на каждого юзера и по два пайпа? Почитайте на досуге для чего нужен mask dst-ip 0xffffffff а также о том как всетаки пакеты проходят фаервол и как с эти соотносится быстродействие системы. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2010-11-20 10:21:41 Автор Share Опубліковано: 2010-11-20 10:21:41 Мы уходим от темы. Знаю я про нагрузку. В моем случае это не актуально. Сеть малелькая, нагрузка еще меньше. Перспектив для развития нет. Так можно сделать юзерский OnConnect используя базу mysaql? Ссылка на сообщение Поделиться на других сайтах
egor2fsys 5 Опубліковано: 2010-11-20 12:29:24 Share Опубліковано: 2010-11-20 12:29:24 Мы уходим от темы. Знаю я про нагрузку. В моем случае это не актуально. Сеть малелькая, нагрузка еще меньше. Перспектив для развития нет. Так можно сделать юзерский OnConnect используя базу mysaql? Хмм, я конечно не знаток баша и mysql (ну или какой у вас там используется интерпретатор для скриптов), но вроде бы можно добавить, допустим в таблицу users поле типа varchar, и при выполнении скрипта OnConnect или OnDisconnect читать поле из этой таблицы и обрабатывать выхлоп mysql. Т.е. если поле с содержимым скрипта пустое, то продолжать выполнение скрипта, если же не пустое, то записать содержимое поля во временный файл и выполнить его с нужным параметрами. SQL синтаксис получения содержимого поля может выглядеть примерно так: USE stargazer_database_name; SELECT `script` FROM `users` WHERE `IP` = $IP; Соответственно в самом скрипте даем команду вида mysql < sql.sql Данное дело возвратит нам две строки минимум, 1 с именем поля, вторая и последующие (если поле многострочное) - сам скрипт. Ну а его уже можно использовать по вкусу. Как это обрабатывать - надо подумать, или записывать во временный файл и его уже исполнять с нужными параметрами, или на лету подставлять в него нужные данные и исполнять сразу. Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-20 23:46:52 Share Опубліковано: 2010-11-20 23:46:52 вот она реальная мощь *nix Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-11-21 11:24:17 Share Опубліковано: 2010-11-21 11:24:17 Так можно сделать юзерский OnConnect используя базу mysaql? Дык в чем проблема вытянуть в онконнект-ондисконнект данные из "mysaql"? #cat /etc/stargazer/OnConnect LOGIN=$1 SOMEDATA=`/etc/stargazer/GetSomedata $LOGIN` #cat /etc/stargazer/GetSomedata #!/usr/local/bin/php <?php $login=$argv[1]; $link = mysql_connect("localhost", "mysqllogin", "mysqlpassword"); mysql_select_db("stg"); $query = 'SELECT `somedata` FROM `sometable` where `login`= "'.$login.'"'; $result = mysql_query($query); while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { foreach ($line as $col_value) { print ($col_value); } } ?> Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2010-11-21 19:44:04 Автор Share Опубліковано: 2010-11-21 19:44:04 Вобще вопрос стоял прото, умеет ли stargazer делать это из коробки. Про правку скриптов, это понятно. Всем спасибо за ответы. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-11-22 08:21:59 Share Опубліковано: 2010-11-22 08:21:59 Вобще вопрос стоял прото, умеет ли stargazer делать это из коробки. Про правку скриптов, это понятно. Всем спасибо за ответы. Если Stargazer и умел когда-то "из коробки" работать со скриптами в пользовательских каталогах, то это было явно еще до того как я пришел в проект. Начиная с 2.4.6.8 я такого не наблюдаю. Да и нелогично пихать этот функционал в него - это можно двумя строчками реализовать через существующие скрипты. Ссылка на сообщение Поделиться на других сайтах
Zero_real 4 Опубліковано: 2010-11-22 14:28:16 Автор Share Опубліковано: 2010-11-22 14:28:16 Умел. Точно умел. В версии 2.0 точно было Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-11-22 16:40:29 Share Опубліковано: 2010-11-22 16:40:29 Умел. Точно умел. В версии 2.0 точно было Ну вот в 2.4 точно убрали. Потому что смысла в этом нет Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас