나는 시도 axel에 Gufran 의 추천하지만 상당히 저를 실망. 저의 목표는 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 스크립트를 참조하십시오 .