abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:33 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    včera 05:11 | Bezpečnostní upozornění

    Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.

    Ladislav Hagara | Komentářů: 11
    včera 02:22 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.

    Ladislav Hagara | Komentářů: 2
    včera 01:22 | IT novinky

    Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinekpoznámkách k vydání.

    Fluttershy, yay! | Komentářů: 2
    25.7. 17:44 | Zajímavý článek Ladislav Hagara | Komentářů: 2
    25.7. 17:22 | Nová verze

    Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.

    Ladislav Hagara | Komentářů: 0
    25.7. 17:11 | Nová verze

    Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:11 | IT novinky

    Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.

    Ladislav Hagara | Komentářů: 23
    25.7. 13:11 | IT novinky

    Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: Přerušované stahování přes wget

    11.6.2006 21:45 mrw
    Přerušované stahování přes wget
    Přečteno: 282×
    Zdravím

    Dávám dohromady můj třetí skript v životě. Potřebuju aby wget x minut stahoval a y minut odpočíval a pak zase pokračoval x minut ve stahování až do stažení souboru.

    Částečně jsem se inspiroval v této diskuzi a sepsal následující skript. Pokusně tam mám krátkých 10s.

    #!/bin/bash

    while true

    do

    wget -c ftp://adresa.cz/nejakysoubor.pripona & sleep 10s

    killall -INT wget

    echo Preruseni

    sleep 5s

    done

    Smyslem je, aby se společně se stahováním spustilo odpočítávání času a to zabilo wget, pak se počkalo 5s a začal další cyklus.

    Přesto mně tento skript dělá psí kusy. Kdyby někdo věděl, jak na to, budu vděčný za radu. Děkuju. mrw

    Odpovědi

    11.6.2006 21:57 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    No minimálně bych nepoužíval killall wget, protože si tak odstřelíš všechny wgety, ale po wget -c & si uložil hodnotu proměnné $! a zabíjel konkrétní proces. Dále se obecně nemůžeš spolehnout na to, že se ti proces po SIGINT ukončí, takže musíš testovat jeho existenci (potencionální race condition).

    No a také postrádám podmínku pro ukončení cyklu, po dotažení souboru.

    BTW: nebylo by lepší použít --limit-rate? Imho se snažíš obejít nějaký omezovač připojení.
    When your hammer is C++, everything begins to look like a thumb.
    11.6.2006 21:58 Marek Pasovsky | skóre: 32
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    co to znamena 'psi kusy'?

    wget sype svuj vystup na obrazovku? to se da 'lecit' treba parametrem '-o'

    Marek
    If you don't understand or are scared by any of the above ask your parents or an adult to help you.
    11.6.2006 22:07 mrw
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    První cyklus stahování proběhne v pořádku a pak přestane čekání fungovat, v cyklu se vždy spustí wget a pak jej to okamžitě zabije a tak furt dokola... slouží znak & k současnému spuštění dvou příkazů? nejspíš ano, ale nefunguje to podle mých představ.

    To že wget něco vypisuje na obrazovku mně zdaleka nevadí...spíš naopak

    Děkuju všem za odpovědi...
    12.6.2006 08:15 petr
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Co takhle SIGSTOP a SIGCONT ?
    12.6.2006 11:34 honzaB | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Nevím teda přesně k čemu to bude, ale tohle by mělo fungovat:
    #!/bin/bash
    
    if [[ -z $1 ]]; then
            echo "Parametr by mel byt adresa ke stazeni."
            exit 1
    fi
    
    function exitX {
            kill -9 $PID
            exit 1
    }
    
    trap exitX SIGINT
    
    while true; do
            wget -c "$1" &
            PID=$!
            # 5 vterin stahuje
            echo "Downloading... ($PID)" 
            sleep 5
            # posle SIGSTOP
            kill -19 $PID
            if [ $? -ne 0 ]; then
                    kill -9 $PID
            fi
            # 5 vterin ceka
            echo "Waiting..."
            sleep 5
    done
    
    12.6.2006 11:49 mrw
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Teda, tak podrobnou odpoveď jsem nečekal. Moc a moc děkuju, hned jak přijdu z práce domů, tak to vyzkouším.

    Na oplátku se pochopitelně budu dál snažit přispívat do diskuze tím, co už umím a co jsem se stačil naučit. Mám obzvlášť pochopení pro začátečníky, protože když jsem před 4 lety nainstaloval RedHat 6.5 a neměl jsem žádnou příručku ani solidní přístup na internet, tak jsem se cítil často....no....beznadějně ztracený.

    mrw
    12.6.2006 15:51 honzaB | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Příště napiš do otázky taky k čemu to potřebuješ. Ještě hodněkrát se budeš divit, že existuje spousta jiných způsobů jak problémy řešit, než ten konkrétní, na který se zrovna ptáš..

    To jenom protože mě opravdu nenapadá použití pro tenhle skriptík :-)
    Jiří Němec avatar 12.6.2006 18:07 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Ten program z té původní diskuze jsem použil jen asi dvakrát. Po tom, co mi ten program stáhl špatně 600 MB soubor, jsem to zavrhnul. Wget je sice dobrý program, ale není dokonalý, taky občas něco naváže špatně. Možná dnes bych to kontroloval torrentem. Ten program mám vystavený na koleji: bluget.c bude to tam možná jen do konce týdne. Je to experimenální kód, tak od toho moc nečekejte. Je to jeden z mých prvních prográmků, tak se nedivte že jsem tenkrát nevěděl jak se v C zpracovávají řetězce a parametry.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.
    12.6.2006 20:37 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Myslím, že všechna řešení založená na tom, že se pustí wget a pak se tomu chudákovi posílají různé stopovací či zabíjecí signály jsou tak trochu podivné. Dá se to napsat i bez pouštění externího programu:
    #!/usr/bin/env python
    import urllib2, time, sys, os
    delay = 2
    burst_time = 12
    url = sys.argv[1]
    filename = os.path.basename(url)
    response = urllib2.urlopen(url)
    fw = open(filename, 'w')
    stamp = time.time()
    downloaded = 0
    while True:
        data = response.read(65536)
        if not data: break
        fw.write(data)
        downloaded += len(data)
        print '%d bytes downloaded' %downloaded
        if time.time() - stamp > burst_time:
            print 'Waiting ...'
            time.sleep(delay)
            stamp = time.time()
    print 'Done.'
    
    Skriptík zvládá ftp i http a stahuje po 64kb blocích (velikost lze upravit). Občas, asi tak po dvanácti sekundách, se mezi jednotlivými bloky na dvě sekundy trochu prospí. Ten poměr jsem převzal od toho člověka v minulé diskusi, co 30 minut stahoval a 5 minut čekal. V tom programu sice nemám časování naprosto přesné, ale je to schválně - přece nebudu čekat, když mi zrovna teče paket, když zapisuju do souboru nebo tak něco.

    Stejně mi ale přijde, že wget --limit-rate dělá úplně to stejné, jak už tu někdo psal.
    Jiří Němec avatar 12.6.2006 21:04 Jiří Němec | skóre: 22 | blog: BluPix | Horní Smrčné
    Rozbalit Rozbalit vše Re: Přerušované stahování přes wget
    Konečně správný způsob. Další systémový způsob by možná byl nějaký shaper. Otázka k čemu to má sloužit. Já jsem prostě začal tahat jistou nižší rychostí a tak jsem byl schopný přenést i více jak 6GB měsíčně na pomalém GPRS a nestabilním telefonu. Ten můj program z předchozí diskuze jsem zavrhnul.

    Když vidím váš kód, musím uznat, že python je opravdu krásný a mocný jazyk.
    Spock: "Logic, logic, logic. Logic is the beginning of wisdom, not the end.

    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.