Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   кто умеет писать консольные вещи под линукс? (http://forums.kuban.ru/f1024/kto_umeet_pisat-_konsol-nye_veshi_pod_linuks-3704055.html)

fanatnascar 14.02.2013 12:50

кто умеет писать консольные вещи под линукс?
 
Желательно бесплатно, но можно и незадорого :) А если дорого - то принимаются консультации бесплатно :)

Консольное приложение (демон) под rhel, задача - мониторить сокет и сбрасывать приходящие данные в строковом виде по полям mysql. Имеет исполняемый файл и конфигурационный файл. В конфигурационном указывается:
[sockets]
ip открываемого сокета или 0 если на всех интерфейсах
порт сокета

[mysql]
сервер БД
порт БД
логин БД
пароль
имя базы

[parce]
разделитель данных = ","
//имена полей по порядкому номеру данных, пустое значение - выбросить
//пришла строка $IDP,123,123,5566,privet*A1
//нужно раскидать до * по запятым и запихнуть в указанную выше таблицу
//разбор протоколов
[IDP = "table_1"] //если строка после доллара и до запятой IDP то кидаем в таблицу table_1
data_0 = "id" //где data_1 - порядковый номер в пропарсеной строке
data_1 = "time"
data_2 = "measurent"
data_3 = "" //никуда не засовываем так как пустое название поля таблицы

аналогично для других IDP

Данные должны обрабатываться только если контрольная сумма между $ и * представленная в HEX совпадает с тем, что после *.

Кто возьмется? ) сделать или помочь.. Линупс есть в виде VDS, там же можно тестить )

NTFS_ 14.02.2013 13:13

Могу за символическое вознаграждение изобразить, только попозже. У меня до марта заказами все занято.

vxg 14.02.2013 13:21

демон rhel - не знаю что такое :) прослушку сокета могу попробовать сделать/рассказать как сделать. к бд не пробовал обращаться, по идее если есть заголовки, библиотека и она это может (не может не мочь), то проблем быть не должно. не ясно как считается контрольная сумма.

fanatnascar 14.02.2013 14:15

1-NTFS_ >да хотелось бы побыстрее, скоро наваяю аппаратную часть. На винду то написал что надо, но это бред - получать на VDS данные, перенаправлять на порт домашнего компа с виндой, отправлять результаты оттуда обратно на VDS в мускуль..
2-vxg >давайте попробуем. Со своей стороны могу предложить следующее. Это - одна и составляющих основы программно-аппаратного комплекса мониторинга чего нибудь, удаленного. Вроде есть варианты преобразовать его в сельхознаправлении.

То есть я могу сейчас получить нужный мне бинарник на данном этапе (пусть и с какими нить ограничениями), а если вдруг дело предпримет хоть какой нибудь толковый оборот и выйдет за рамки моего самообучения - выкуплю по вменяемой цене исходники.

Ну и думаю по mysql вдвоем справимся. Под нее есть либы на ВСЕ. В чем планируете писать?

fanatnascar 14.02.2013 14:15

В общем добавляйтесь в аську 66945401 / мыло [email]whoim@mail.ru[/email], там обсудим

archimag 14.02.2013 15:26

Изучи Python за 4 часа и напиши нужный функционал под виндой, а потом просто перенеси на linux.

wayerr 14.02.2013 21:30

Сращный программа:

зпускаешь в одном терминале:
% tmp/test/server.sh
в другом клиент
% netcat localhost 5000
в клиенте пишешь
IDP,someValue1,someData2
сервер выдает:
insert into (id, value) values (someValue1, someData2)
SQL я не помню но поправит думаю несложно 8)

текст "сервера":

#!/bin/sh

PORT=5000
SPLITTER=','
ID=IDP
TABLE=tableName
netcat -l -p $PORT| awk -F$SPLITTER "/$ID/ {print \"insert into $tableName (id, value) values (\"\$2\", \"\$3\") \"**"

дукументация на обе использованные программы полно в инете, также полагаю будет несложно прикрутить mysql клиент который будет исполнять запросы 8)

да небезопасно, если нужно безопасно и стабильно то выход только один - java

wayerr 14.02.2013 21:31

ой моя бедный русская языка, да и кавычка четыре я забыл вокруг someValue1 и someData2 в текст запроса проставит

fanatnascar 15.02.2013 00:48

7-wayerr >нуегонахъ, мне программу надо а не это))
будет несколько соединений и несколько "протоколов" с несколькими таблицами. 2-vxg >взялся, посмотрим.
5-archimag >обязательно, но хотелось бы чуть позже)

wayerr 15.02.2013 20:44

и вся это кухня мне сильно напоминает NMEA протокол 8)

fanatnascar 18.02.2013 05:55

9-wayerr >а nmea-протокол напоминает любое адекватное строковое решение по передаче небольших данных с минимальными проверками в виде кс))
да что угодно.. в том то и дело что конкретного применения решению пока нет - это заготовка под что нибудь, куда нибудь.

fanatnascar 18.02.2013 05:56

прога написана, залита на серв, пересобрана - будем тестить :)

ParanoidAndroid 28.02.2013 22:33

Если можно притянуть Qt могу портануть свою поделку %)
У меня слушатель на ubuntu server сидит и льет содержимое в postgresql.

wayerr 28.02.2013 22:50

зачем тянуть в серверное приложение qt?

magician 28.02.2013 23:51

13-wayerr > GUI наверно.

Том 01.03.2013 11:01

зачем Qt когда можно сделать веб-морду.

fanatnascar 06.03.2013 00:58

написано (скомпилировано) на g++, в виде демона, тема закрыта)

fanatnascar 06.03.2013 00:58

15-Том >зачем веб морда консольному демону?

Zam11 06.03.2013 13:25

java и ну ее эту морду...

sefho1124 02.03.2015 22:50

Великолепно.


Текущее время: 12:32. Часовой пояс GMT +3.