Открытие нескольких подключений не сильно поможет вам, если вы отправляете только одну загрузку на aria2c
и когда размер файла мал. Но вы можете легко запустить несколько команд aria2c
параллельно, используяxargs -P <num>
Убедитесь, что значение -P
не превышает разрешенного сервером, иначе сервер вернет ошибку.
find. -type f -printf '%P\n' \
| xargs -I{} -P6 aria2c -x 1 -s 1 "https://web.archive.org/save/https://{}"
Или позвольте xargs
добавить все URL только к одному aria2c
вызову:
find. -type f -exec 'https://web.archive.org/save/https://%P\n' \
| xargs aria2c -x 16 -s 1
Но я думаю, что лучшим вариантом было бы создать файловый дескриптор из find
в качестве входных данных для aria2
вместо использования конвейеров и xargs
.
aria2c -x 16 -s 1 -i <(find. -type f -printf 'https://web.archive.org/save/https://%P\n')
fd_is_open() (: >&"$1") 2>/dev/null;
if fd_is_open 7; then
...
fi
Это дает ложное срабатывание для fd 2, так как мы должны открыть его, чтобы отключить сообщения об ошибках.