Как сделать выборку или что-то подобное?

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
levantuev
сержант
Сообщения: 168
Зарегистрирован: 2008-11-05 6:15:43
Контактная информация:

Как сделать выборку или что-то подобное?

Непрочитанное сообщение levantuev » 2009-11-30 2:01:18

Есть пользователи, которые подключаются к серверу через 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 и.т.п пожалуйста выручайте...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение schizoid » 2009-12-01 11:29:26

radius используется?
если да, то

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

select * from radacct where AcctStopTime='0000-00-00' AND AcctStartTime>=CURRENT_DATE()
покажет подключенных сейчас пользователей. остальные соответственно не подключены.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

levantuev
сержант
Сообщения: 168
Зарегистрирован: 2008-11-05 6:15:43
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение levantuev » 2009-12-01 12:06:30

Радиуса нету, в чем проблема и заключается, то что нужно показывать именно кто Offline

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение schizoid » 2009-12-01 12:43:07

а в чем клиенты тогда? если в мпд.секрет, то как вариант такое решение:
1. получить все текущие подключения, например

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

netstat -rn| grep ng|grep -v Routing|  awk '{print $1}'
2. дальше из списка всех пользователей исключить подключившихся
ядерный взрыв...смертельно красиво...жаль, что не вечно...

levantuev
сержант
Сообщения: 168
Зарегистрирован: 2008-11-05 6:15:43
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение levantuev » 2009-12-01 15:50:21

Ну я могу же тупо вручную прописать в качестве переменной
vasya=192.168.11.2
petya=192.168.11.3

вопрос как эту проверку и отделение (кто оффлайн) организовать через

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

netstat -rn| grep ng|grep -v Routing|  awk '{print $1}'

levantuev
сержант
Сообщения: 168
Зарегистрирован: 2008-11-05 6:15:43
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение levantuev » 2009-12-02 11:05:30

Тут кто-то отвечал? Мне уведомление пришло :)

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение schizoid » 2009-12-02 13:33:59

я удалил сообщение. предложил вариант , потом проверил - не рабочий. удалил.
собсна все исходные данные у вас есть.
дальше подключайте моск
ядерный взрыв...смертельно красиво...жаль, что не вечно...

levantuev
сержант
Сообщения: 168
Зарегистрирован: 2008-11-05 6:15:43
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение levantuev » 2009-12-02 13:42:03

ага сделал:

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

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение Alex Keda » 2009-12-02 17:07:15

грепу можно список в файле скормить, вообще-то.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Как сделать выборку или что-то подобное?

Непрочитанное сообщение schizoid » 2009-12-03 13:07:10

что-то с грепом у мну не получилось с исключением. по-этому собсна и удалил пост... типа флаг -v -f file
ядерный взрыв...смертельно красиво...жаль, что не вечно...