태그 보관물: download-manager

download-manager

더 빨리 또는 멀티 스레딩을 만드는 방법? 보드 + 그래픽

방금 컴퓨터 하드웨어 (cpu + 메인 보드 + 그래픽 카드 + 메모리 + 하드 디스크)를 업그레이드 했으므로 새 OS를 설치해야합니다. 나는 명령 으로 다운로드 debian-6.0.6-amd64-netinst.iso를 시도 wget했지만 속도가 너무 느려서 견딜 수 없었습니다. 4Kb/s ~ 17 Kb/s, 달리는 거북이처럼 느리게, Chrome을 사용하면 더 느려집니다.

wget 의 도움말 정보를 읽었습니다 . 더 빨리 만들 수있는 옵션이없는 것 같습니다.

어쨌든 wget을 더 빨리 만들 수 있습니까? 아니면 멀티 스레딩 다운로드가 가능합니까?

추신 : 내 대역폭은 4M입니다. 이 명령을 사용합니다.

wget -c url  http://hammurabi.acc.umu.se/debian-cd/6.0.6/amd64/iso-cd/debian-6.0.6-amd64-netinst.iso


답변

시도해 보지 않겠 axel습니까? 본격적인 커맨드 라인 기반 다운로더입니다.

설치 axel및 생성

axel -a -n [Num_of_Thread] link1 link2 link3 ...

여기서 '[Num_of_Thread]'다운로드하려는 각 링크에 대해 생성 할 병렬 연결 수입니다.

-a 개선 된 진행률 표시 줄 만 표시하십시오.

다른 많은 다운로드 관리자와 달리 Axel은 하나의 단일 스레드를 사용하여 모든 데이터를 대상 파일로 직접 다운로드합니다. 프로그램이 다운로드 한 모든 부품을 연결할 필요가 없기 때문에 결국 시간이 절약됩니다.


답변

나는 시도 axelGufran 의 추천하지만 상당히 저를 실망. 저의 목표는 DownThemAllCPU와 하드 디스크를 혼잡하게하고 8 코어 Mac Pro에서도 전체 시스템 속도를 늦추기 때문에 CLI 대체품을 찾는 것이 었습니다 . 또한 여러 인스턴스를 실행하는 스크립트가 아닌 wgetand curl에 대한 멀티 스레드 대체를 원했습니다 . 그래서 나는 더 많은 것을 검색하고 지금 생각하는 것이 가장 현대적인 멀티 스레드 CLI 다운로더 인 aria2라는 것을 발견했습니다 . 내가 가진 큰 문제는 axelSSL을 통해 파일을 다운로드하는 ‘가짜’였다는 것입니다. 나는 그걸로 그것을 붙 잡았다 tcdump. https평소와 같이 링크를 다운로드하고있었습니다http. 그것은 정말로 나를 화나게했다. 그리고 내가 점검하지 않았다면, 나는 안전에 대한 잘못된 감각을 가지고 있었을 것이다. 많은 사람들이 이러한 심각한 보안 위반에 대해 알고 있다고 의심합니다. 로 돌아 가면 aria2다른 다운로더보다 고급 기능입니다. HTTP (S), FTP, BitTorrent 및 Metalink 프로토콜을 지원하며 멀티 플랫폼이며 다운로드 게릴라입니다. DTA와 달리 CPU 나 하드 디스크에 부하가없는 ISP의 대역폭을 최대화합니다. 맨 페이지는 거대합니다. 나는 많은 옵션 중 몇 가지 이상을 사용하지 않을 것입니다. 그리고 BTW, SSL 성능을 확인했으며 tcdump가짜가 아니라 견고합니다. 편리하지는 않지만 DTA의 동작을 모방 한 스크립트를 작성했습니다.

최대 대역폭을 얻는 데 사용하는 기본 명령은

aria2c --file-allocation=none -c -x 10 -s 10 -d "mydir" URL

-c그것은이 중단 얻는다 경우 다운로드의 지속을 허용 -x 10하고 -s 10서버 당 10 개의 연결을 허용하고, -d "mydir"디렉토리에 출력 파일 mydir.

aria2files.sh:

#!/bin/bash

filename="$1" # get filename from command line argument

while read -r line
do
    if [ "$line" ] # skip blank lines
    then
        if [[ "$line" =~ (https?|ftp)\:\/\/ ]] # line contains a URL, download file
        then
            echo "URL: '$line'"
            aria2c --file-allocation=none -c -x 10 -s 10 -d "$currdir" "$line"
        else # line contains a directory name, create directory if not already present
            echo "Directory: '$line'"
            currdir="$line"
            if [ ! -d "$currdir" ]
            then
                mkdir -p "$currdir" # '-p' enables creation of nested directories in one command
            fi
        fi
    fi
done < "$filename"

다음 형식의 텍스트 파일을 읽습니다.

files.txt:

dierctory 1
url1
url2
…
directory 2/subdirectory/sub-subdirectory/…
url3
url4
…
…
…

스크립트는 명령 행에서 파일 이름을 읽습니다.

aria2files.sh files.txt

디렉토리를 작성하고 다운로드합니다. 두 번째 예와 같이 중첩 된 디렉토리를 작성할 수 있습니다.

자세한 내용은 URL에서 텍스트 파일에 나열된 지정된 디렉토리로 파일을 다운로드하는 내 post Bash 스크립트를 참조하십시오 .


답변