Come gestisci i file parzialmente scaricati a causa della bassa velocità della connettività Internet? Questo breve tutorial spiega come riprendere il file parzialmente scaricato usando il comando wget in Linux.
L'altro giorno stavo testando FreeTube , un player desktop YouTube open source nel mio desktop Linux Arch Linux. Ho provato a scaricare l'ultima versione di FreeTube da GitHub usando wget comando. A causa della scarsa velocità di Internet, il processo di download continua a terminare ogni pochi minuti. Ecco il comando wget che ho usato per scaricare quel file.
$ wget https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Risultato di esempio:
--2018-03-09 15:41:44-- https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt' Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112, 64:ff9b::c01e:fd70, ... Connecting to github.com (github.com)|192.30.253.113|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream [following] --2018-03-09 15:41:47-- https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.225.200, 64:ff9b::34d8:e1c8 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.225.200|:443... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 39318740 (37M), 24626833 (23M) remaining [application/octet-stream] Saving to: ‘FreeTube-linux-x64.tar.xz’ FreeTube-linux-x64. 48%[+++++++=> ] 18.04M 4.63KB/s in 3m 6s 2018-03-09 15:49:59 (22.2 KB/s) - Read error at byte 18921544/39318740 (Error in the pull function.). Retrying. --2018-03-09 15:50:00-- (try: 2) https://github-production-release-asset-2e65be.s3.amazonaws.com/123220152/39a2c92c-2277-11e8-8ca4-895487b6ddb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180309T101016Z&X-Amz-Expires=300&X-Amz-Signature=bf0fcb4643f0719239e3a006c9fbc055b6b9805e6ef03dcfc27334d18fdf994c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DFreeTube-linux-x64.tar.xz&response-content-type=application%2Foctet-stream Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.225.200|:443... connected. HTTP request sent, awaiting response... 403 Forbidden 2018-03-09 15:50:04 ERROR 403: Forbidden.
Ho controllato la dimensione del file di download.
$ ls -lh FreeTube-linux-x64.tar.xz -rw-r--r-- 1 sk users 19M Mar 9 15:44 FreeTube-linux-x64.tar.xz
Bene, la dimensione effettiva di FreeTube è di circa 38 MB , ma finora ho ottenuto solo 19 milioni.
Eseguo nuovamente il comando Wget sperando che riprendesse il file parzialmente scaricato, ma non è stato così. Abbiamo iniziato a scaricare il file dall'inizio e dopo pochi minuti ho ricevuto lo stesso errore. Non importa quante volte ho provato a scaricare quel file, l'attività di download continua a interrompersi dopo alcuni minuti.
Riprendi il file parzialmente scaricato utilizzando wget
Dopo alcune ricerche su Google e passando per wget
pagina manuale, ho scoperto che esiste un'opzione per riprendere i file parzialmente scaricati con il comando wget.
Per riprendere il file parzialmente scaricato, vai alla posizione in cui si trova il file parzialmente scaricato e usa -c
o --continue
opzione con il comando wget come di seguito.
$ wget -c https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Oppure,
$ wget --continue https://github.com/FreeTubeApp/FreeTube/releases/download/v0.1.3-beta/FreeTube-linux-x64.tar.xz
Ora, Wget ha iniziato a scaricare il file da dove era stato lasciato nel tentativo precedente. Il -c
o --continue
l'opzione continuerà a ricevere un file parzialmente scaricato. Questo sarà molto utile quando vuoi completare un download iniziato da un'istanza precedente di Wget o da un altro programma.
Tieni presente che se c'è un file con lo stesso nome nella directory corrente, Wget presumerà che sia la prima parte del file remoto e chiederà al server di continuare il recupero da un offset uguale alla lunghezza del file locale file. Quindi, assicurati di aver eliminato tutti gli altri file parzialmente scaricati e di conservare il file originale che desideri scaricare.
Per maggiori dettagli, fare riferimento a wget
pagine man.
$ man wget
Oppure,
$ wget --help
Lettura correlata:
- Come riprendere i file trasferiti parzialmente su SSH utilizzando Rsync