Я подошел к концу моего исследования с Unix:> Я новичок в Unix и его среде, поэтому мне нужна ваша помощь, ребята. Короче говоря, у меня есть служебный скрипт, который запускается ежедневно / еженедельно (это не имеет значения), и он загружает gzip файлов общим объемом ~ 20Tb. Старый скрипт использует цикл, и он архивирует файлы один за другим, пока не будет соответствовать шаблону в файле конфигурации. То, что я хочу сделать, это сделать файлы gzip 4 сразу. Так как это сократит время ведения домашнего сценария. С моим исследованием я пришел к выводу: найди $ {var}! -name "$ {name}" -тип f 2> / dev / null | xargs -n 1 -P 4 gzip

У меня вопрос, есть ли способ сделать это без команд find/ls? Могу ли я заменить xargs другими командами? Обратите внимание, что я не могу установить дополнительные пакеты.

1 ответ1

0

Я думаю, что проблема заключается в том, что ваш скрипт соответствует файлам и начинает zip, соответствует следующему и начинает zip. Мой совет:

Разделите ваш скрипт, чтобы иметь возможность запускать несколько экземпляров gzip, так как gzip не может быть многопоточным (однако вы можете запустить несколько его экземпляров одновременно, чтобы запустить все ядра)

Я ссылался на этот пост для кода, необходимого для запуска нескольких экземпляров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .