Это работает и не будет вызывать локальный или удаленный DoS при правильной настройке:
(bandwidth=5000 jobs=8; \
parallel \
--round \
-P $jobs \
--nice +5 \
--delay 2 \
--pipepart \
--cat \
-a urls.txt \
wget \
--limit-rate=$((bandwidth/jobs))k \
-w 1 \
-nv \
-i {} \
)
tar -c -I 'xz -9 -T0' -f archive.tar.xz [list of files and folders]
Это сжимает список файлов и каталогов в .tar.xz
архив. Это делается путем указания аргументов, которые должны быть переданы подпроцессу xz
, который сжимает tar-архив.
Это делается с помощью аргумента -I
для tar, который сообщает tar
какую программу использовать для сжатия tar-архива и какие аргументы ей передать. -9
указывает xz
использовать максимальное сжатие. -T0
указывает xz
использовать столько потоков, сколько у вас есть процессоров.
Для старых tar это работает:
tar -cf - list of files and folders| xz -9 -T0 >| archive.tar.T.xz
Вы можете использовать XZ_DEFAULTS
или XZ_OPT
переменные окружения:
XZ _НАСТРОЙКИ ПО УМОЛЧАНИЮ рекомендуется использовать в качестве общесистемной конфигурации, обычно устанавливаемой в сценарии инициализации оболочки.
XZ _OPT предназначен для передачи параметров в xz
при запуске скриптом или инструментом, например. ГНУ tar
. См. man xz
.
Пример :с использованием нескольких потоков(-T0
)и максимального уровня сжатия(-9
):
XZ_OPT='-T0 -9' tar -cJf resultfile.tar.xz files_to_compress
Ссылка с последним GNU tar на bash или производной оболочке , также см. справочную страницу xz