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í
×
    dnes 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

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

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 3
    dnes 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

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

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    včera 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    4.5. 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    3.5. 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 39
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (62%)
     (8%)
     (16%)
     (15%)
    Celkem 116 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    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: 272×
    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.