abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Zajímavý článek

    Ve funkci koordinátora k bitcoinové kauze skončil bývalý ústavní soudce David Uhlíř. Informaci, kterou zveřejnil Deník N, potvrdila Radiožurnálu ministryně spravedlnosti Eva Decriox (ODS). Uvedla, že odchod byl po vzájemné dohodě. „Jeho mise je ukončená, auditní procesy se už povedlo nastavit,“ řekla. Teď má podle ministryně další kroky podniknout policie a státní zastupitelství. Koordinátorem jmenovala ministryně Uhlíře 19. června.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nová verze

    Byla vydána nová verze 25.07.26 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.15 oznámil Linus Torvalds vydání Linuxu 6.16. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 3
    25.7. 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 34
    25.7. 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.7. 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 1
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (28%)
     (28%)
     (6%)
     (5%)
     (4%)
     (1%)
     (3%)
     (25%)
    Celkem 151 hlasů
     Komentářů: 17, poslední 26.7. 20:08
    Rozcestník

    Dotaz: Skript na dekódování squid access.log datumu

    5.2.2007 17:02 ac
    Skript na dekódování squid access.log datumu
    Přečteno: 540×
    Udělal jsem si skript v php na dekodovani data a času s access.log logu squidu v php. Jak to napsat v bashi? |V php to při větším logu přestává fungovat, alokuje to hrozně moc paměti.
    $fp = FOpen ($filename, "rb");
    $text = FRead ($fp, FileSize ($filename));
    FClose ($fp);
    
           $patterns = array(
               "/^(.*)\.(.*) /smUe"
           );
           $replacements = array(
               "StrFTime('%d/%m/%Y %H:%M:%S', '\\1')"
           );
           $text = preg_replace($patterns,$replacements, $text);
    
    

    Odpovědi

    5.2.2007 17:30 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    cat access.log |
    cut -d. -f1 |
    while read sec; do
        date -d "19700101 00:00:00 $sec sec" "+%d/%m/%Y %H:%M:%S"
    done
    If you hold a Unix shell up to your ear, you can you hear the C.
    5.2.2007 22:49 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    No dobre no, ten cat som mohol usetrit a dat subor ako parameter cutu. Ja som to testoval na zgzipenom logu a pouzival som zcat (a nakoniec som to upravil pre publikovanie). zcut totiz neexistuje.
    If you hold a Unix shell up to your ear, you can you hear the C.
    Josef Kufner avatar 5.2.2007 17:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Tak ten log zpracovávej po řádcích a ne celý najednou.
    Hello world ! Segmentation fault (core dumped)
    5.2.2007 17:31 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Alebo ten skript nespravis tak hlupo, ze si ho najprv cely nacitavas do pamate, ale budes ho citat po riadkoch a rovno spracovavat.
    If you hold a Unix shell up to your ear, you can you hear the C.
    5.2.2007 21:45 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Třeba takhle:
    #!/usr/bin/python
    import time
    for line in file('access.log'):
        splitted = line.split()
        firsttwo = ' '.join(splitted[:2])
        text = ' '.join(splitted[2:])
        time_tuple = time.strptime(firsttwo, '%d/%m/%Y %H:%M:%S')
        print time.mktime(time_tuple), text
    
    Zpracovává to asi 10000 řádků za sekundu a paměť by to taky nějak zvlášť žrát nemělo.
    6.2.2007 10:00 ac
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    10000 řádků za sekundu je málo. Ten php skript zpracuje 50 MB soubor logu za 3 sekunkdy.
    6.2.2007 10:41 iSteve | skóre: 15 | blog: isteve
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    To je sice pekne, ale presto nepouzitelne:) Jestli chces rychlost, napis to v Ccku, pripadne Perlu atd. Jestli chces opravdu velkou rychlost, mej logy v tmpfs. Jestli chces web srajdu, napis to v PHP, ale poradne:) (Krom toho jsem si dost jistej, ze 10k radku/s byl guesstimate a ne mereni)

    Mimochodem, generovani stats pro zatizenejsi weby obvykle trva dlouho, neni uplne rozumny to mit v PHP ve chvili, kdy tam mas milion omezeni stran pameti a doby behu skriptu. Neni rozumny tyto omezeni rusit.

    Vedet jak parsovat log je dobrej zacatek, ale zkus to jeste trochu vic domyslet v sirsich souvislostech, jestli to je opravdu presne to co chces.
    6.2.2007 11:06 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    10000 řádků za sekundu je málo. Ten php skript zpracuje 50 MB soubor logu za 3 sekunkdy.
    Tak o takové rychlosti si mohu nechat jen zdát. Odhaduji, že ten tvůj padesátimegový log obsahuje půl miliónu řádků. Už pouhé volání funkce strptime() z pythonu si u mě vezme 70 mikrosekund, což samo o sobě by se natáhlo na více než půl minuty.

    Rád bych pohlédl kruté pravdě do očí - máme tak strašně odlišné počítače nebo lžou všichni, co údajně svůj web urychlili přepsáním z php do pythonu?
    6.2.2007 12:16 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Ten moj bashovy skript parsuje 740r/s. Na Athlon 3200+. Vstup je generovany a vystup ide do /dev/null, takze to ani nie je brzdene diskom.
    If you hold a Unix shell up to your ear, you can you hear the C.
    6.2.2007 14:26 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Ach ták! Taky jste mi mohl někdo říct, jak vlastně vypadá formát toho logu a že to mám vlastně úplně blbě a tudíž mi to nemůže fungovat ;-) Tak tady je nová verze
    #!/usr/bin/env python
    import time
    for line in file('access.log'):
        sec, text = line.split(' ', 1)
        ttuple = time.localtime(float(sec))
        print time.strftime('%d/%m/%Y %H:%M:%S', ttuple), text,
    
    která zpracovává 40000 řádků za sekundu (změřeno), vypisuje vždy celý řádek logu, jen čas a datum má polidštěný formát. Padesátimegový log se zpracovává 10 sekund a líp to nedokážu.
    6.2.2007 15:25 .
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    # time perl -p -e 's/^\d+\.\d+/localtime $&/e;'< access.log > access-lidsky.log
    
    real    0m39.863s
    user    0m30.460s
    sys     0m3.120s
    
    # cat /var/log/dmesg|grep MIPS
    Calibrating delay loop... 799.53 BogoMIPS
    
    # ls -l access.log
    -rw-r-----    1 proxy    proxy    49436371 Feb  6 15:23 access.log
    
    6.2.2007 15:57 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Skript na dekódování squid access.log datumu
    Tak přece se našlo místo k optimalizaci ;-) Zkusím tedy napodobit ten perlovský kód a předpokládat, že formát data a času vyhovuje tak, jak ho vrací funkce ctime().
    #!/usr/bin/env python
    import time
    for line in file('access.log'):
        sec, text = line.split(' ', 1)
        print time.ctime(float(sec)), text,
    
    A opravdu se to tím zrychlilo:
    $ time ./readfile.py > access-lidsky.log
    
    real    0m6.020s
    user    0m5.415s
    sys     0m0.527s
    $ time perl -p -e 's/^\d+\.\d+/localtime $&/e;'< access.log > access-lidsky.log
    
    real    0m9.052s
    user    0m7.245s
    sys     0m1.725s
    
    Takže padesátimegový log se pythonem zpracuje za 6 sekund, v těsném závěsu je perl s devíti sekundami. Ale nad rychlostí toho PHP mi zůstává rozum stát.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.