Tengo un archivo que quiero enviar a varios servidores separados. ¿Es posible nombrar múltiples destinos?
rsync foo.png server1:foo.png server2:foo.png
Esto me da un "argumento remoto inesperado: servidor1: foo.png
No, no hay forma rsync
de especificar múltiples destinos. Tendrá que invocar el comando varias veces. Si tiene muchos objetivos, es posible que desee considerar el uso de un sistema de archivos de red en su lugar, podría ser mejor para su problema.
Resulta que hay un programa que permite esto, pero no el programa rsync original. Se llama pssh (ssh paralelo, supongo)
Una de las características:
"- Paralelo rsync (parallel-rsync, upstream lo llama prsync), copia eficientemente archivos a múltiples hosts en paralelo"
- http://www.ubuntugeek.com/execute-commands-sim simultáneamente-on-multiple-servers-using- psshcluster-sshmultixterm.html
Si bien está invocando el comando varias veces a través de la entrada del archivo, esto se puede hacer especificando los destinos deseados en un archivo deseado:
while read in; do rsync -av /Path/of/Source/Synced.file "$in":/Path/of/Destination/Synced.file; done < destinations.txt
Por favor, disculpe mi prueba, ya que solo tenía dos sistemas disponibles en ese momento, pero estoy seguro de que esto funcionará para múltiples sistemas según lo deseado. Supongo que no es el método más elegante, pero definitivamente es una forma de automatización. Y por favor, siéntase libre de corregirme si esto no funciona ya que no tengo los recursos disponibles para probar más allá de dos sistemas en este momento de la publicación.