Отображение процента дефляции команды tar (как команды zip)

Отображение процента дефляции команды tar (как команды zip)

Этот вопрос может показаться странным, но я хотел бы узнать, есть ли возможность отобразить процент дефляции файлов, обработанных в tarкоманде.

Я использую эту команду tar -cjvf "$BACKUP_PATH/Complete Backup $date.tar.bz2" $MINECRAFT_PATHдля создания резервной копии игрового сервера Minecraft. И это отображает все файлы, которые он обрабатывает. Это выглядит почти как команда zip. Разница здесь в том, что после zipзавершения команды отображается, насколько файл был сжат. Интересно, возможно ли это с командой tar.

решение1

Это невозможно, поскольку файлы сначала архивируются ( tar), а затем результат сжимается целиком ( bz2или gz). Это (редактировать: одна из) причин, по которым tar.bz2или tar.gzобычно меньше zip, особенно когда они содержат много маленьких и похожих файлов.

решение2

Если вы сначала запустите tar, а затем либо , gzipлибо bzip2, то вы можете передать обоим этим параметрам параметр -vдля отображения степени сжатия, например, так:

tar -cvf - foo/ | bzip2 -v > foo.tar.bz2

решение3

Для чего? Вы можете указать tar записать в stdout номер обработанного блока, или вы можете запустить команду, которая получит номер обработанного блока. это основа для отображения процентов. используйте опцию

tar ...something ... --checkpoint --checkpoint-action=ACTION

см. man tar .

Связанный контент