Ter o medidor de progresso no arquivo de log não parece muito útil. Que tal executar scp
com sua saída padrão conectada ao terminal? Isso tem a desvantagem de que, se o script for interrompido no meio da transferência, não haverá nada no log para indicar o progresso (mas isso é uma desvantagem muito pequena, como o tamanho da transferência parcial).
scp remotehost:/path/to/file /local/file >/dev/tty
Se você quiser salvar a saída do progresso de scp
, use script
.
script -q /dev/stdout -c 'scp remotehost:/path/to/file /local/file' | tee scp.log
Como alternativa, você pode inserir pv
no canal para obter uma indicação de progresso. Isso não é tão bom quanto scp
porque pv
só sabe o número de bytes transferidos, não o total.
ssh remotehost 'cat /path/to/file' | pv -bpt >/local/file