Üdv!
Valószínűleg nem olyan egyszerű a probléma megoldása, mint elsőre látszana:
Szeretnék saját szórakoztatásomra az általunk üzemeltetett rendszerhez egy olyan scriptet fejleszteni,
ami az éppen írt tranzakciós logból egy számláló manipulálásával képes fix időközönként az éppen futó
tranzakciók számát megjeleníteni.
Egy-egy tranzakció jól beazonosítható, mert a logban egy "... begin ... tran_id ..." formájú sor jelzi a kezdetét,
illetve egy "... end ... tran_id ..." formájú sor jelzi a végét. Ez még egyszerűen parse-olható pl. a tail -f kimenet
awk-val. Ide elég 2 minta illesztés és ennek megfelelően egy counter++ vagy counter-- (nagy vonalakban).
Viszont, az alkalmazás fut szerencsére 7/24 órában, így a script indításának pillanatában nem tudjuk a pillanatnyilag futó tranzakciók számát.
A meglévő log elejétől való csemegézés sem igazán játszik, mert bár gyors a gép, egy 300+MB-os text fájl átnyálazása
nem pár msec.
Tudnátok ötleteket mondani erre?
Adva: hp-ux, ksh, awk, perl
- 893 megtekintés
Hozzászólások
A futó tranzakció egy konkrét fájlba lökje be az
azonosítóját, illetve mindent, ami neked kell a
megjelenítéshez. Ezt a fájlt aztán scriptel feldolgozhatod.
Én így csinálnám.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Köszönöm, de ez sajnos nem járható. A log helye, neve és egyéb rögzített, ezt megváltoztatni nem tudjuk.
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni
Egyszer átnyálazod az elejéről, a számláló állását és a log méretét eltárolod. A következő futásnál seek a letárolt logméretre, számláló lökdösése, végül tárolás, s.í.t.
- A hozzászóláshoz be kell jelentkezni