como copiar um arquivo de um servidor para 2 servidores diferentes [duplicado]

1

Eu preciso copiar um arquivo para dois servidores diferentes usando o shell script. Eu tentei usar Scp usernameip endereço e caminho de destino da pasta

    
por sindhu 24.11.2015 / 16:53

2 respostas

5

Como descrito aqui você pode escrever um pequeno script de shell:

for dest in $(<destinations.txt); do
  scp /path/to/the/file_to_copy.txt ${dest}:/remote/path/
done

Você só precisa criar o arquivo destinations.txt , onde preencherá em cada linha o destino user@host , algo a seguir, por exemplo:

[email protected]
[email protected]

Observe que o caminho de destino ( /remote/path/ ) é codificado no script, isso significa que esse caminho deve existir nos dois servidores. Se você preferir definir um caminho dedicado para cada destino, poderá editar o script, remover :/remote/path/ e defini-lo para cada uma de suas entradas em destinations.txt .

Caso contrário, você pode dar uma olhada em scp-paralelo

    
por 24.11.2015 / 17:06
2

Ao usar o RSA, você pode criar um script para enviar os arquivos sem solicitar sua senha; sua senha não precisa ser digitada no script. executado no seu computador:

ssh-keygen -t rsa -b 4096 -C "[email protected]"
ssh-copy-id loginname@server1Ip
ssh-copy-id loginname@server2Ip

dentro do seu script:

scp file loginname@server1IP
scp file loginname@server2IP

se o seu login e nome de usuário local forem os mesmos, você pode deixar de fora o loginname @ part

    
por 24.11.2015 / 17:13