rsync для нескольких удаленных серверов

10

У меня есть файл, который я хочу отправить на несколько отдельных серверов. Можно ли назвать несколько мест назначения?

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

Это дает мне «Неожиданный удаленный arg: server1: foo.png

Miati
источник

Ответы:

7

Нет, невозможно rsyncуказать несколько адресатов. Вам нужно будет вызвать команду несколько раз. Если у вас много целей, вы можете вместо этого рассмотреть возможность использования сетевой файловой системы - она ​​лучше подходит для вашей проблемы.

Джон Цвинк
источник
11

Оказывается, есть программа, которая разрешает это, но не оригинальная программа rsync. Это называется pssh (параллельный ssh, я полагаю)

Одна из особенностей:

«- Parallel rsync (Параллельный rsync, восходящий называет его prsync), эффективно копирует файлы на несколько хостов параллельно»
- http://www.ubuntugeek.com/execute-commands-simchronously-on-multiple-servers-using- psshcluster-sshmultixterm.html

Miati
источник
0

Хотя вы вызываете команду несколько раз посредством ввода файла, это можно сделать, указав нужные места назначения в одном желаемом файле:

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

введите описание изображения здесь

Прошу прощения за мой тест, так как в то время у меня было только две системы, но я уверен, что при желании это будет работать для нескольких систем. Я полагаю, что это не самый элегантный метод, но это определенно один из способов автоматизации. И, пожалуйста, не стесняйтесь исправлять меня, если это не сработает, поскольку у меня нет ресурсов для тестирования за пределами двух систем на данный момент.

Брэндон Л
источник