Ошибка таймаута aria2c для большого файла, но загружает большую его часть
Я разместил это на superuser
вчера, но, может быть, здесь лучше. Я прошу прощения, если я ошибаюсь.
Я стараюсь изо всех сил стрелять ниже aria2c
команда запуска с использованием ubuntu 14.04
, В основном загрузка начинается и заканчивается примерно через 30 минут, затем появляются ошибки с ошибкой тайм-аута. Загружаемый файл имеет размер 25 ГБ, и часто несколько файлов загружаются с использованием цикла. Любые предложения, чтобы сделать это более эффективным и стабильным? В настоящее время загрузка каждого файла занимает около 4 часов, и это нормально, если нет ошибок. Я получаю aria2c
файл с частично загруженным файлом. Спасибо:).
aria2c -x 4 -l log.txt -c -d /home/cmccabe/Desktop/download --http-user "xxxxx" --http-passwd xxxx xxx://www.example.com/x/x/xxx/"file"
Я извиняюсь за тег, так как не могу создать новый, который был ближайшим.
1 ответ
Вы можете написать цикл для повторного запуска aria2c, пока все файлы не будут загружены (см. Эту суть).
В принципе, вы можете поместить все ссылки в файл (например, list.txt
):
http://foo/file1
http://foo/file2
...
Тогда беги loop_aria2.sh
:
#!/bin/bash
aria2c -j5 -i list.txt -c --save-session out.txt
has_error=`wc -l < out.txt`
while [ $has_error -gt 0 ]
do
echo "still has $has_error errors, rerun aria2 to download ..."
aria2c -j5 -i list.txt -c --save-session out.txt
has_error=`wc -l < out.txt`
sleep 10
done
aria2c -j5 -i list.txt -c --save-session out.txt
будет загружать 5 файлов параллельно (-j5
) и записывает сбойные файлы в out.txt
, Если out.txt
не пусто ($has_error -gt 0
), затем повторите команду, чтобы продолжить загрузку. -c
опция aria2c пропустит завершенные файлы.
PS: еще одно более простое решение (без проверки ошибок), которое просто запускает aria2 1000 раз, если не возражаете:)
seq 1000 | parallel -j1 aria2c -i list.txt -c