1

Есть много ответов о том, как создать файл tar.gz с обновлениями прогресса (т. Е. Этот ответ, скопированный ниже)

tar cf - /folder-with-big-files -P | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') | gzip > big-files.tar.gz

Но как я вижу прогресс, если я заархивирую файлы без сжатия, вот так

tar -cvf output.tar folder/to/tar

2 ответа2

3

В то время как принятое решение работает, это всего лишь злоупотребление процессом. Существует более простое и элегантное / правильное решение -

tar -c /folder | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') > bigfiles.tar

tar обозначает Tape ARchive - и предназначен для работы с потоками. "f" в "cf" указывает tar специально создавать файл - вместо этого сделайте это и укажите «-» для использования stdout в качестве этого файла.

2

Вместо того, чтобы выводить данные через gzip, выведите в файл: tar cf - /folder-with-big-files -P | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') > big-files.tar

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