Вывод progess scp/sftp управляет и к стандарту и к файлу на сервере Linux

В энергии, существует также :normal o или :normal O.

6
02.06.2011, 21:45
2 ответа

Кажется, что scp отключает метр прогресса, если stdout не является tty. Статья, с которой я связался, содержит некоторое хакерство псевдотерминала, которое могло бы работать на Вас; или Вы могли войти в scp источник и отключить isatty() проверить.

5
27.01.2020, 20:25

Наличие метра прогресса в файле журнала не звучит очень полезным. Как насчет выполнения scp с его стандартным выводом, подключенным к терминалу? Это действительно имеет оборотную сторону, что, если сценарий является прерванной серединой передачи, не будет ничего в журнале для указания на прогресс (но это - очень незначительная оборотная сторона как размер частичной передачи).

scp remotehost:/path/to/file /local/file >/dev/tty

Если Вы хотите сохранить вывод прогресса от scp, можно использовать script.

script -q /dev/stdout -c 'scp remotehost:/path/to/file /local/file' | tee scp.log

С другой стороны, можно вставить pv в конвейере для получения признака прогресса. Это не столь хорошо как scp потому что pv только знает число переданных байтов, не общее количество.

ssh remotehost 'cat /path/to/file' | pv -bpt >/local/file
4
27.01.2020, 20:25

Теги

Похожие вопросы