Existe alguma maneira de exibir uma barra de progresso enquanto copia do servidor para o local (ou vice-versa) usando scp
?
Existe alguma maneira de exibir uma barra de progresso enquanto copia do servidor para o local (ou vice-versa) usando scp
?
Respostas:
Eu não acho que isso possa ser feito scp
. A última vez que precisei de algo assim, isto é, o progresso mostrado, usei rsync
. Ele mostra o progresso de maneira semelhante a um bar. Veja se isso funciona para você.
Você precisará usar a --progress
opção de rsync
. Você pode usar o seguinte comando:
rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/
2741851 0% 700.39kB/s 0:17:21
e nenhuma barra de progresso gráfico (o que acho que o OP quer).
-e ssh user@remote-system:
para uma cópia local e man rsync
explica as muitas, muitas opções)
rsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
rsync
enquanto você só precisa adicionar -v
ascp
O -v
interruptor funciona bem.
Exemplo:
5% 9232KB 357,5KB / s 07:48 ETA
-3
.
man scp
: " -3
Cópias entre dois hosts remotos são transferidas através do host local. Sem essa opção, os dados são copiados diretamente entre os dois hosts remotos. Observe que essa opção desativa o medidor de progresso. "
Não sei como fazer isso em uma linha de comando. Tenho certeza de que é possível, mas existe um método gráfico para fazer isso.
O Nautilus (o navegador de arquivos padrão no Ubuntu) pode montar servidores ssh / sftp. Eles agem como um sistema de arquivos local depois disso e você pode copiar arquivos como faria normalmente. E você obtém a barra de progresso usual que obteria com uma cópia normal.
Procure no File
menu porConnect to server...
A partir de 2018, o progresso e a ETA são mostrados por padrão e podem ser desativados por -q