Страница 1 из 1
Как сделать выборку или что-то подобное?
Добавлено: 2009-11-30 2:01:18
levantuev
Есть пользователи, которые подключаются к серверу через mpd4
Vasya(192.168.11.3)
Masha(192.168.11.4)
Petya(192.168.11.5)
Код: Выделить всё
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396
inet 192.168.11.1 --> 192.168.11.4 netmask 0xffffffff
Допустим пользователи "Vasya" и "Petya" на данный момент не подключены, как вывести на экран сообщение о пользователях кто сейчас НЕ online ?
т.е типа такогов вида:
Vasya - offline
Petya - offline
Скрипт должен быть написан на perl или sh, методы выполнения любые ping, netstat, ifconfig и.т.п пожалуйста выручайте...
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-01 11:29:26
schizoid
radius используется?
если да, то
Код: Выделить всё
select * from radacct where AcctStopTime='0000-00-00' AND AcctStartTime>=CURRENT_DATE()
покажет подключенных сейчас пользователей. остальные соответственно не подключены.
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-01 12:06:30
levantuev
Радиуса нету, в чем проблема и заключается, то что нужно показывать именно кто Offline
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-01 12:43:07
schizoid
а в чем клиенты тогда? если в мпд.секрет, то как вариант такое решение:
1. получить все текущие подключения, например
Код: Выделить всё
netstat -rn| grep ng|grep -v Routing| awk '{print $1}'
2. дальше из списка всех пользователей исключить подключившихся
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-01 15:50:21
levantuev
Ну я могу же тупо вручную прописать в качестве переменной
vasya=192.168.11.2
petya=192.168.11.3
вопрос как эту проверку и отделение (кто оффлайн) организовать через
Код: Выделить всё
netstat -rn| grep ng|grep -v Routing| awk '{print $1}'
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-02 11:05:30
levantuev
Тут кто-то отвечал? Мне уведомление пришло

Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-02 13:33:59
schizoid
я удалил сообщение. предложил вариант , потом проверил - не рабочий. удалил.
собсна все исходные данные у вас есть.
дальше подключайте моск
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-02 13:42:03
levantuev
ага сделал:
Код: Выделить всё
netstat -rn | grep ng | grep -v Routing | awk '{print $1}' > file2.txt
/usr/bin/diff -b baza.userov file2.txt | grep 192 | awk '{print $2}' > offline.txt
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-02 17:07:15
Alex Keda
грепу можно список в файле скормить, вообще-то.
Re: Как сделать выборку или что-то подобное?
Добавлено: 2009-12-03 13:07:10
schizoid
что-то с грепом у мну не получилось с исключением. по-этому собсна и удалил пост... типа флаг -v -f file