Como posso scp um arquivo em dois servidores em uma linha? [duplicado]

0

Estou usando o Mac 10.9.5 e o shell bash. Em nosso ambiente, temos que passar por um proxy (uma máquina do CentOS) para o SSH adequadamente em uma máquina de destino (outra máquina do CentOS). O que eu gostaria de fazer é criar um atalho para que eu possa scp arquivos rapidamente para o servidor de destino, algo como

scp localfile.txt davea@server:/home/davea

Mas agora, eu tenho que fazer vários comandos para transferir o arquivo ...

scp localfile.txt davea@proxy:/home/davea
ssh davea@proxy
scp localfile.txt davea@server:/home/davea

É possível condensar o acima em uma linha?

    
por Dave 21.11.2014 / 18:27

2 respostas

1

Que tal uma função em você .bash_profile

scps () {
    if [ -f $1 ] ; then
        scp $1 davea@proxy:/home/davea && ssh davea@proxy && scp $1 davea@server:/home/davea
    else
        echo "'$1' is not a valid file!"
    fi
}

Em seguida, você pode usar scps filename para copiar filename para davea@server:/home/davea .

    
por 21.11.2014 / 18:45
0

Considere o uso do rsync para copiar automaticamente os arquivos do proxy para o destino:

rsync local-file user@remote-host:remote-file
    
por 22.11.2014 / 00:49

Tags