1

В настоящее время я передаю каталог через SSH после сжатия через tar:

tar cz /path/to/foo | pv | ssh HOSTNAME 'tar xmz && some-cool-command'

Проблема в том, что pv не знает общий размер потока, поэтому он не может отображать правильную строку прогресса. Я мог бы установить его в размер /path/to/foo но это не будет правильно, так как поток сжат.

Есть ли способ обойти это и заставить pv показывать правильный прогрессбар?

1 ответ1

0

Короткий ответ, нет. Вы не знаете, насколько tar (на самом деле gzip ) будет сжимать ваши файлы, пока вы не сделаете это.

Вы можете заранее сжать файлы на вашем диске, а затем показать только индикатор выполнения передачи:

 tar cz /path/to/foo > /tmp/ar && pv /tmp/ar | ssh HOSTNAME 'tar xmz && some-cool-command'

но я не думаю, что это то, чего ты хочешь достичь. Или вы можете быть удовлетворены примерным размером на основе исходного файла, как вы предложили.

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