Zpracování generovaných dat z ssh

PK13

Zpracování generovaných dat z ssh
« kdy: 15. 10. 2012, 13:30:34 »
Ahoj,
potřeboval bych poradit (googlení moc nikam nevedlo :( ).

Představte si, že na stroji, ke kterému mám ssh přístup, je script, který generuje řádek po řádku nějaká data.

Například:
Kód: [Vybrat]
#!/bin/bash
for i in $(seq 1 2000)
do
   echo $i
   sleep 0.1
done

Já bych tato data potřeboval nějak zpracovávat (nejlépe python script není však podmínkou) a pak "printit" výsledky.
(Např: k prvnímu přičíst 1, k druhému 2 atd... až do nekonečna, resp. dokud mi budou přes ssh chodit data a výsledky vypisovat do terminálu)

Bohužel nevím jak to udělat (s bashem jsem úplný začátečník a s pythonem řekněme pokročilý začátečník). Nedokázal by někdo jednoduše popsat, jak na to?
Mockrát děkuji za odpovědi :)


h4k4

Re:Zpracování generovaných dat z ssh
« Odpověď #1 kdy: 15. 10. 2012, 13:52:00 »
Neco jako (ale fakt halucinuju - nemam uz ten stary dobry shell skill - musis otestovat)

for i in $(tail -f /var/log/ssh.log | awk {'print 1'}); do echo $i >>|  /home/me/myfile; done

ale to ti nebude pravdepodobne fungovat protoze jsem to vyhalucinoval z fleku.

Muzes to delat davkove, pokud nepotrebujes realtime odpoved.

A nebo toto:

http://pyinotify.sourceforge.net/

KapitánRUM

Re:Zpracování generovaných dat z ssh
« Odpověď #2 kdy: 15. 10. 2012, 13:55:44 »
A to to nemůžeš sypat do databáze?

A) Pokud to jsou data o která můžeš přijít, tak použij memory table
CREATE TEMPORARY TABLE IF NOT EXISTS `tmplog` (`msg` varchar(512)) ENGINE=Memory DEFAULT CHARSET=latin1;
Pokud ne nebo zápasíš s pamětí, tak přes table.

B) Přistupovat do DB můžeš i přes SSH.

No a na obou stranách můžeš z Pytlouna přistupovat do DB:
http://www.google.cz/search?q=python+access+to+mysql

Tím vyřešíš problémy jako výpadek spojení a tak.

h4k4

Re:Zpracování generovaných dat z ssh
« Odpověď #3 kdy: 15. 10. 2012, 14:01:03 »
Jen zvedavost:

Jak databaze notifikuje o tom, ze do ni pribyl radek?

Neni nahodou filesystem jenda z nejgenialnejsich databazi a pokud ssh loguje do filu, tak pak presypavat ten file do databaze je malicky overhead?

Diky za vyskoleni luzra jakym jsem - zen 4 ever - koans 4 ever - UNIX 5 ever ;o)

KapitánRUM

Re:Zpracování generovaných dat z ssh
« Odpověď #4 kdy: 15. 10. 2012, 14:03:07 »
Jo a taky případné rozparsování a vedení správného typu hned na vstupu bývá často jednodušší.
Zkrátka se lépe pracuje s číslo1=10, číslo2=157, číslo3=0, text1="ResultOK" než s (10   157   0 ResultOK).
Dobrá, pokud je ten řetězec oddělený třeba středníky, dá se to, ale i tak textové parsovací funkce bývají náročnější na CPU a taky hned nemusí odhalit chybu, napíšeš parser špatně, z (10   157   0 ResultOK) ti vypadne jedno číslo (10 0 ResultOK) a najednou řešíš problém.
Jak říkám, pokud to jde šikovně pořešit hned na vstupu, můžeš si tím dost pomoc.


KapitánRUM

Re:Zpracování generovaných dat z ssh
« Odpověď #5 kdy: 15. 10. 2012, 14:06:20 »
Jak databaze notifikuje o tom, ze do ni pribyl radek?

Jsem snad Google?
http://sourceforge.net/projects/pynetmontool/

PK13

Re:Zpracování generovaných dat z ssh
« Odpověď #6 kdy: 15. 10. 2012, 14:33:36 »
h4k4: super díky, úplně jsem zapomněl (nenapadlo mě), že bych to mohl přesměrovat do souboru a pythonem jenom ten soubor číst  :-[

KapitánRUM: S tou databází je to také dobrý nápad, problém je že to potřebuju hoodně "realtimově", to h4k4ovo zatím stačí (ale díky moc za myšlenku - s tou databází to budu potřebovat později)

Co se parsování týče, tak parsovat to budu asi přímo v pythonu, díky za tip, aplikaci co generuje výstup si mohu přepsat, takže to zvážím.

Každý řádek má jako první položku unikátní identifikátor, takže notifikace snad ani nebudu potřebovat, pojedu stále dokola dokud se tam neobjeví další řádek. :)

Díky moc všem

h4k4

Re:Zpracování generovaných dat z ssh
« Odpověď #7 kdy: 15. 10. 2012, 14:46:52 »
Hadani o "...ovnu" je na "...ovno" - jde vzdycky jen o myslenku.

Tak snad ... ;o)

A tusil jsem, ze to pujde monitorovat i z databaze jeneze seee man seeee:

file -> databaze -> soft

or

file -> soft

A - nemusis to mistre presmerovavat do dalsiho fajlu protoze si to cele muzes zpracovat v pythonu.
Tim monitoringem filu.

;o)

Pe4ce



ms

Re:Zpracování generovaných dat z ssh
« Odpověď #8 kdy: 15. 10. 2012, 16:07:38 »
malo by fungovat aj
ssh server "nejaky prikaz" | skript.py

Re:Zpracování generovaných dat z ssh
« Odpověď #9 kdy: 15. 10. 2012, 16:23:30 »
malo by fungovat aj
ssh server "nejaky prikaz" | skript.py
Přimlouvám se taky za tohle řešení - keep it simple and stupid! :)

Ale tohle nebude fungovat v případě, že by ten skript měl jet dlouhodobě - když se spojení ztratí, získáš nedefinovaný stav a není jak navázat.