rsync para vários servidores remotos

6

Eu tenho um arquivo que quero enviar para vários servidores separados. É possível nomear vários destinos?

rsync foo.png server1:foo.png server2:foo.png

Isso me dá um "Argumento remoto inesperado: server1: foo.png

    
por Miati 23.12.2014 / 04:24

3 respostas

6

Não, não há como rsync especificar vários destinos. Você precisará invocar o comando várias vezes. Se você tem muitos alvos, você pode querer considerar o uso de um sistema de arquivos de rede - pode ser um ajuste melhor para o seu problema.

    
por 23.12.2014 / 04:37
7

Acontece que há um programa que permite isso, mas não o programa rsync original. É chamado pssh (ssh paralela, suponho)

Um dos recursos:

"-- Parallel rsync (parallel-rsync, upstream calls it prsync), efficiently copies files to multiple hosts in parallel"
- http://www.ubuntugeek.com/execute-commands-simultaneously-on-multiple-servers-using-psshcluster-sshmultixterm.html

    
por 12.01.2015 / 20:47
0

Embora você esteja invocando o comando várias vezes por meio de entrada de arquivo, isso pode ser feito especificando os destinos desejados em um arquivo desejado:

while read in; do rsync -av /Path/of/Source/Synced.file "$in":/Path/of/Destination/Synced.file; done < destinations.txt

Por favor, desculpe o meu teste, pois eu só tinha dois sistemas disponíveis na época, mas estou certo de que isso funcionará para vários sistemas conforme desejado. Não é o método mais elegante, suponho, mas é definitivamente uma maneira de automatizar. E, por favor, sinta-se à vontade para me corrigir se isso não funcionar, pois não tenho os recursos disponíveis para testar além de dois sistemas neste momento do post.

    
por 20.11.2018 / 09:01

Tags