contatore per scaricare con wget(download paralleli)

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
ant1988
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1126
Iscrizione: venerdì 14 novembre 2008, 18:57
Località: Vicino Firenze

contatore per scaricare con wget(download paralleli)

Messaggio da ant1988 »

Salve a tutti io avrei la necessità dopo non poche ore passate al pc di avere un contatore o per meglio dire dovrei scaricare 194 file da questo questo sito .
Sono già due volte che faccio il checksum e tutte e due le volte mi da il checksum errato perché mancano dei file.
Come posso fare?
Per ora ho rimediato scrivendo a manina tutti e 194 file!! (come scritto in quel sito) ma così non é vita.......
del tipo

Codice: Seleziona tutto

screen wget -crp -e robots=off -l1 --no-parent --cut-dirs=3 -nH -A --continue pgp,txt https://keyserver.mattrude.com/dump/2017-11-22/sks-dump-0000.pgp

Codice: Seleziona tutto

screen wget -crp -e robots=off -l1 --no-parent --cut-dirs=3 -nH -A --continue pgp,txt https://keyserver.mattrude.com/dump/2017-11-22/sks-dump-0001.pgp
etc etc....
Ultima modifica di trekfan1 il venerdì 24 novembre 2017, 8:54, modificato 1 volta in totale.
Motivazione: Sistemato il titolo
Non sono massone ma sono dell'idea che:Giustizia,fratellanza e uguaglianza siano  concetti abbastanza belli :)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2842
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: contatore per scaricare con wget(download paralleli)

Messaggio da rai »

ciao
se come shell usi bash potresti usare la "brace expansion" di cui puoi leggere qui
per esempio:

Codice: Seleziona tutto

echo pref_{0..0194}_suff
pref_0000_suff pref_0001_suff pref_0002_suff pref_0003_suff pref_0004_suff pref_0005_suff pref_0006_suff pref_0007_suff pref_0008_suff pref_0009_suff pref_0010_suff pref_0011_suff pref_0012_suff pref_0013_suff etc., etc.
se sei su una shell che non permette la brace expansion si potrebbe fare per esempio così:

Codice: Seleziona tutto

for num in $(seq -w 0 0012); do  echo prefix_${num}_suffix; done
prefix_0000_suffix
prefix_0001_suffix
prefix_0002_suffix
prefix_0003_suffix
prefix_0004_suffix
prefix_0005_suffix
prefix_0006_suffix
prefix_0007_suffix
prefix_0008_suffix
prefix_0009_suffix
prefix_0010_suffix
prefix_0011_suffix
prefix_0012_suffix
Avatar utente
ant1988
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1126
Iscrizione: venerdì 14 novembre 2008, 18:57
Località: Vicino Firenze

Re: contatore per scarticare con wget(download paralleli)

Messaggio da ant1988 »

Innanzitutto grazie per la risposta allora quel tentativo che avevo fatto " a manina" non funziona... ora..
premesso che non ne so molto di programmazione mi serve qualcosa di più pragmatico da fare altrimenti non posso andare avanti facendo il server pubblico per le chiavi pgp.
Come fare nel mio caso?
Ho provato così:

Codice: Seleziona tutto

STDR="echo sks-dump-0{00..194}"
wget -crp -e robots=off -l1 --no-parent --cut-dirs=3 -nH -A --continue pgp,txt https://keyserver.mattrude.com/dump/2017-11-22/$STDR
ma...:

Codice: Seleziona tutto

antonio@antonio-All-Series:~$ sh script.sh 
--2017-11-23 18:04:44--  http://pgp,txt/
Risoluzione di pgp,txt (pgp,txt)... non riuscito: Nome o servizio sconosciuto.
wget: impossibile risolvere l'indirizzo dell'host "pgp,txt"
--2017-11-23 18:04:44--  https://keyserver.mattrude.com/dump/2017-11-22/echo
Risoluzione di keyserver.mattrude.com (keyserver.mattrude.com)... 138.68.241.223, 2604:a880:2:d0::3c1d:6001
Connessione a keyserver.mattrude.com (keyserver.mattrude.com)|138.68.241.223|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 404 Not Found
2017-11-23 18:04:45 ERRORE 404: Not Found.

--2017-11-23 18:04:45--  http://sks-dump-0%7B00..194%7D/
Risoluzione di sks-dump-0{00..194} (sks-dump-0{00..194})... non riuscito: Nome o servizio sconosciuto.
wget: impossibile risolvere l'indirizzo dell'host "sks-dump-0{00..194}"
antonio@antonio-All-Series:~$ 
Non sono massone ma sono dell'idea che:Giustizia,fratellanza e uguaglianza siano  concetti abbastanza belli :)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2842
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: contatore per scaricare con wget(download paralleli)

Messaggio da rai »

la pagina che ti avevo suggerito di leggere ha scritto:Massdownload from the Web

In this example, wget is used to download documentation that is split over several numbered webpages.

wget won't see your braces. It will see 6 different URLs to download.

wget http://docs.example.com/documentation/s ... ,5,6}.html

Of course it's possible, and even easier, to do that with a sequence:

wget http://docs.example.com/documentation/slides_part{1..6}.html
in pratica, una volta che hai stabilito quale sia la linea di comando che con wget ti funziona, devi sostituire nell'URL le quattro cifre prima della estensione .pgp con {0..0194}

per es. se l'URL è nel formato: https:// keyserver.mattrude.com/dump/2017-11-22/sks-dump-NNNN.pgp

tu devi usare: https:// keyserver.mattrude.com/dump/2017-11-22/sks-dump-{0..0194}.pgp

in tal modo wget leggerà come se tu avessi scritto sulla riga di comando tutti e 194 gli URL da scaricare

BTW nella pagina che tu hai linkato suggeriscono di fare una cosa diversa, tu l'hai già provata?
Use the below command to download all the current dump files.

wget -crp -e robots=off -l1 --no-parent --cut-dirs=3 -nH -A pgp,txt https://keyserver.mattrude.com/dump/current/
Avatar utente
ant1988
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1126
Iscrizione: venerdì 14 novembre 2008, 18:57
Località: Vicino Firenze

Re: contatore per scaricare con wget(download paralleli)

Messaggio da ant1988 »

BTW nella pagina che tu hai linkato suggeriscono di fare una cosa diversa, tu l'hai già provata?
Intendi dire scaricare i file da ftp?
se sì , ti rispondo in modo affermativo e il server ftp non risponde
ps il tuo modo funziona ma continua a scaricarmelo uno per uno.
Il problema di questo download é che mentre scarica il primo dovrei scaricare anche il secondo e non so come fare...
Dopo 4/5 ore che ho aspettato i primi download sono ok ma poi il checksum va in errore perché quegli altri non me li scarica...
Mi domando: io ho una linea che va fino a 1,80Mb/s come mai questi file me li scarica a 3,00KB/s ??
Non sono massone ma sono dell'idea che:Giustizia,fratellanza e uguaglianza siano  concetti abbastanza belli :)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2842
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: contatore per scaricare con wget(download paralleli)

Messaggio da rai »

ant1988 ha scritto:ps il tuo modo funziona ma continua a scaricarmelo uno per uno.
Il problema di questo download é che mentre scarica il primo dovrei scaricare anche il secondo e non so come fare...
Puoi provare in quest'altra maniera: vengono lanciati 194 processi wget in background e quindi inizieranno a scaricare in parallelo. Il rischio è che, al contrario dell'altro modo (sequenziale), cercando di scaricare tutto contemporaneamente si saturi la banda disponibile e che comunque il download complessivo sia di una lentezza estenuante ed esposto ad errori

Codice: Seleziona tutto

for num in {0..0194}; do  
wget TUTTE LE SUE OPZIONI https://keyserver.mattrude.com/dump/2017-11-22/sks-dump-${num}.pgp &
done
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti