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 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 4
    dnes 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1816 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 343×
    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.