отследить активность приложения клиента
Модераторы: SLEDopit, Модераторы разделов
-
vesel
- Сообщения: 98
отследить активность приложения клиента
Подскажите пожалуйста в какую сторону копать.Требуется по признаку обращения определенной программы к серверу запускать или останавливать MySQL сервер. Тоесть на виндовой машинке исполняется виндовая смотрелка\забивалка базы написаная на VB(можно доделать если чтото потребутеся ) для MySQL сервера. Вообще нужно чтобы если пользователь запускает данную программу (с флешки) и она пытается подключится к мускулу то мускул и стартует. А если приложение закрыто то и мускуль останавливается . Пока каша в голове,пните кто посообразительнее ))
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: отследить активность приложения клиента
vesel писал(а): ↑23.08.2009 06:58Подскажите пожалуйста в какую сторону копать.Требуется по признаку обращения определенной программы к серверу запускать или останавливать MySQL сервер. Тоесть на виндовой машинке исполняется виндовая смотрелка\забивалка базы написаная на VB(можно доделать если чтото потребутеся ) для MySQL сервера. Вообще нужно чтобы если пользователь запускает данную программу (с флешки) и она пытается подключится к мускулу то мускул и стартует. А если приложение закрыто то и мускуль останавливается . Пока каша в голове,пните кто посообразительнее ))
Сделайте в програмке функцию запуска telnet команды а на вашем сервере с sql поставьте сервер telnet (какой-нить telnetd). При подключении этой телнет-командой будете его запускать, при отключении останавливать (или по cron можно останавливать если нештатное отключение - например проверять есть ли телнет коннект - если нету то останавливать). Конечно через ssh было бы гораздо лучше - но я сомневаюсь что вы найдете функции работы с ssh в вашем VB.
В принципе еще можно через web технологии как-то это сделать - например вывесить какую-нить страничку на сервере - а ваша прога посылает в нее параметры через cgi - но тут я могу только гадать что и как.
Спасибо сказали:
-
vesel
- Сообщения: 98
Re: отследить активность приложения клиента
идея с телнетом хороша конечно )) попробую... кроном буду ловить есть подключение или нет и соответственно старт|стоп мускуля. Правда от слова телнет малость трясет и коробит (безопасность однако- ну да ничего ,"пообрезаем" все что можно
)
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: отследить активность приложения клиента
ну вы даете.
xinet.d?
xinet.d?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: отследить активность приложения клиента
Ну вы даёте -- mysql не тот сервис, который должен стартовать по запросу.
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: отследить активность приложения клиента
да, извиняюсь, посмотрел на свое приложение - чушь написал. естественно так дергать mysql нельзя :)
хотя вообщем то - это почти то, что хотел автор :)
vesel, а, если не секрет - из каких соображений такая конструкция? почему не держать mysql всё время поднятым?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
-
skor
- Сообщения: 419
- ОС: RTFM-OS v127.0.0.1
Re: отследить активность приложения клиента
А обязательно вообще MySQL?
Если там простые данные и простые таблицы, может попробовать что-то типа mSQL (или вообще текстовой файл) а потом просто крупными объемами экспортировать в MySQL?
В общем надо побольше узнать почему все так "необычно".
Если там простые данные и простые таблицы, может попробовать что-то типа mSQL (или вообще текстовой файл) а потом просто крупными объемами экспортировать в MySQL?
В общем надо побольше узнать почему все так "необычно".
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: отследить активность приложения клиента
а еще можно на knockd посмотреть. В двух словах: эта штука смотрит за пакетами на интерфейсе, при обнаружении там определеной последовательности портов назначения - запускает команду. У нас так доступ по ссш открывается...
а зачем, действительно, дергать мускуль туда-сюда? держать его запущенным постоянно, только порт открывать при надобности.
а зачем, действительно, дергать мускуль туда-сюда? держать его запущенным постоянно, только порт открывать при надобности.
Losing is fun!
-
vesel
- Сообщения: 98
Re: отследить активность приложения клиента
ввиду ОсбЕНных требований от начальства не держать базу данных локально на своей площадке (:;:№%*"(?(№
Грубо говоря требуется организовать доступ к базе по требованию.
Поступил слеующим образом.. написал скрипт отслеживающий подключение\отключение к MySQL (с проверками ессно с какого адреса,кто и т.п. используя mysql show full processlist-спасибо за подсказку ) после этого либо дропую либо ресторю данные (благо их там не так много). От способа ронять\поднимать мускуль ессно отказался )) Теперь остается прикрутить
то куда эти данные буду скидывать (пока локально балуюсь) ... требуется прицепить отдельно взятую машинку с динамических адресом ессно бог знает откуда прицепляющуюся ... Пока не знаю как лучше, Понятно что по SSH... но вот VPN и т.п. громоздкое не охото творить ))
Поначалу загорелся с "просто" репликацией данных ... потом это вылилось в то что бекапится то он конечно хорошо на ТОТ сайт а вот в обратную сторону чего то никак ((
может конечно плохо курил доку - но вот чтобы можно было бы мастеру сказать " а давай ресторся с реплики"... не нашел ((( а так бы было бы все удачненько ...
Поступил слеующим образом.. написал скрипт отслеживающий подключение\отключение к MySQL (с проверками ессно с какого адреса,кто и т.п. используя mysql show full processlist-спасибо за подсказку ) после этого либо дропую либо ресторю данные (благо их там не так много). От способа ронять\поднимать мускуль ессно отказался )) Теперь остается прикрутить
то куда эти данные буду скидывать (пока локально балуюсь) ... требуется прицепить отдельно взятую машинку с динамических адресом ессно бог знает откуда прицепляющуюся ... Пока не знаю как лучше, Понятно что по SSH... но вот VPN и т.п. громоздкое не охото творить ))
Поначалу загорелся с "просто" репликацией данных ... потом это вылилось в то что бекапится то он конечно хорошо на ТОТ сайт а вот в обратную сторону чего то никак ((
может конечно плохо курил доку - но вот чтобы можно было бы мастеру сказать " а давай ресторся с реплики"... не нашел ((( а так бы было бы все удачненько ...
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: отследить активность приложения клиента
Если по ssh и на этой машинке линух то смотрите в сторону sshfs - позволит сделать скрипт который все это в крон засунет и забудете о проблеме. И этот вариант не будет в принципе от локального отличаться.
Спасибо сказали:
-
vesel
- Сообщения: 98
Re: отследить активность приложения клиента
Спасибо за совет ....именно этим сейчас и занимаюсь. Правда обнаружились грабли. Для подключения по sshfs требуется указать IP машинки к которой нужно подключится,пока игрался у себя в локалке все было пучком. Но вот при коннекте внешней машинки по скайлинку по команде who показывает вместо нормального адреса следующее ms-183-112-dyn-ip.spb.skylink.ru.
Подскажите пожалуйста как бы привязатся к ней ? В принципе то можно конечно узнать по ifconfig на удаленной машинке ее текущий ip и отправить на сервер...или .... может конечно это и правой рукой левое ухо ((
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: отследить активность приложения клиента
vesel писал(а): ↑26.08.2009 13:39Спасибо за совет ....именно этим сейчас и занимаюсь. Правда обнаружились грабли. Для подключения по sshfs требуется указать IP машинки к которой нужно подключится,пока игрался у себя в локалке все было пучком. Но вот при коннекте внешней машинки по скайлинку по команде who показывает вместо нормального адреса следующее ms-183-112-dyn-ip.spb.skylink.ru.
Подскажите пожалуйста как бы привязатся к ней ? В принципе то можно конечно узнать по ifconfig на удаленной машинке ее текущий ip и отправить на сервер...или .... может конечно это и правой рукой левое ухо ((
А если делать все на внешней машинке? Подключаться, потом запускать с удаленной машинки на вашей машине с базой скрипт который сделает дамп, монтировать папку в которую сделан дамп и забирать его себе.
Опищите что вы делаете - что к чему подключаете - пока мы рассуждали о принципиальных решениях можно было и так - а если пошла речь о конкретных проблемах то требуется конкретная инфа о ситуации.
-
vesel
- Сообщения: 98
Re: отследить активность приложения клиента
На данном моменте на основном сервере (который на площадке) крутится скрипт который отслеживает активность клиентов. При обращении к мускулю рекаверит с локалного диска базу. Когда отсутсвтует активность клиентов то база дампится на локальный диск. При помощи sshfs проверил подключение внешнего хранилища (можно так назвать) из локальной сети. Но там понятно,IP статичный и sshfs спокойно монтирует его для дампа\рекавери данных. При подключении "дикого" хранилища через скайлинк встает вопрос как к нему обращатся. Остаетс один путь , сначало монтировать по sshfs директории офисной машины к удаленной.Скидывать туда в тхт формате результаты ipconfig от удаленной. Иуже после парсинга оного монтировать удаленную директорию для дампа\рекавери. Уфф))
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: отследить активность приложения клиента
vesel писал(а): ↑26.08.2009 15:05При подключении "дикого" хранилища через скайлинк встает вопрос как к нему обращатся. Остаетс один путь , сначало монтировать по sshfs директории офисной машины к удаленной.Скидывать туда в тхт формате результаты ipconfig от удаленной. Иуже после парсинга оного монтировать удаленную директорию для дампа\рекавери. Уфф))
А вы сделайте наоборот - дикий комп подключается и при подключении запускает скрипт (насколько я знаю можно исполнить скрипт на удаленной машине через ссш) который дампит базу, затем дикая машина монтирует себе папку в которой находится дамп и копирует его себе. Таким образом не нужно знать ip дикой машины - все делается с нее. Можно еще повесить дамп в крон - каждые 5 мин допустим а дикая машина будет подключаться периодически и брать дамп который будет не старее 5 минут - но это может быть ресурсоемко.