I have a file I want to sent to multiple separate servers. Is it possible to name multiple destinations?
rsync foo.png server1:foo.png server2:foo.png
This gives me a "Unexpected remote arg:server1:foo.png
Turns out there is a program that permits this, just not the original rsync program. It's called pssh (parallel ssh I suppose)
One of the features:
"-- 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
No, there is no way in rsync
to specify multiple destinations. You'll need to invoke the command multiple times. If you have many targets, you might want to consider using a network filesystem instead--it might be a better fit for your problem.
Albeit you're invoking the command multiple times through file input, this can be done by specifying the desired destinations in one desired file:
while read in; do rsync -av /Path/of/Source/Synced.file "$in":/Path/of/Destination/Synced.file; done < destinations.txt
Please excuse my test as I only had two systems available at the time, but I'm most certain this will work for multiple systems as desired. It's not the most elegant method I suppose, but it's definitely one way of automating. And please, feel free to correct me if this doesn't work as I don't have the resources available to test beyond two systems at this time of post.