GZIP на нескольких ядрах с PV Progress Bar
После этого вопроса Gzip 2010 года со всеми ядрами, я хотел бы gzip
файлы, использующие несколько ядер и указывают индикатор выполнения с pv
инструмент.
Как мне улучшить этот код?
CORES=$(grep -c '^processor' /proc/cpuinfo)
find /source -type f -print0 | xargs -0 -n 1 -P $CORES gzip -9
Я хотел бы показать оставшееся время и параллельно показывать бары прогрессии.
Есть ли у вас другие лучшие альтернативы на 2018 год?
Благодарю.
2 ответа
Решение
Используйте GNU Parallel, который имеет индикатор выполнения или eta
:
find ... -print0 | parallel -0 --progress gzip -9 {}
Или же
find ... -print0 | parallel -0 --eta ...
Или же
find ... -print0 | parallel -0 --bar ...
Вы не используете gzip на нескольких ядрах, вы используете несколько gzip.
pv
бежит по трубе. Я не верю, что можно запустить его одновременно на нескольких каналах и предоставить сводку по всем из них.