scp -q não é silencioso entre diferentes hosts

14

Então, scp -q file host:file e scp -q host:file fileambos estão quietos, ou seja, não dê o medidor de progresso. Mas quando corro scp -q host1:file host2:file, ainda recebo o medidor de progresso e uma Connection to host1 closed.mensagem. O medidor de progresso pode ser eliminado redirecionado stdoutpara /dev/null(embora eu prefira não precisar), mas as mensagens de conexão fechada são ativadas stderr, as quais eu definitivamente quero manter caso haja um erro real. Como posso fazer o scp ficar quieto? Eu tenho que correr ssh host1 "scp -q file host2:file"?

metáfora pitônica
fonte

Respostas:

15

no host1, edite ~ / .ssh / config e adicione algo como isto

Host host2
    LogLevel=QUIET

isso desativará as mensagens para você.

porque -q controla apenas a conexão do cliente ssh do seu host local, não do host1.

johnshen64
fonte
8
Você também pode especificar isso na linha de comando, por exemplo:scp -q -o LogLevel=QUIET /tmp/foo someotherhost:/tmp
Banjer 3/14
@Banjer Obrigado pela -q -o LogLevel. Funciona perfeitamente!
Jari Turkia