Как может я rsync ко всему удаленному связанному хосту?

Я использую следующую команду для передачи использования файла rsync только к одному связанному хосту:

rsync -az -e ssh /path/to/source 192.168.8.8:/path/to/destination

Дело обстоит так статического IP addesss. Но в другом случае существует больше чем одна система, соединенная с помощью DHCP.

Я попробовал:

rsync -az -e ssh /path/to/source 192.168.8.*:/path/to/destination

Но это показывает ошибку

ssh: could not resolve the hostname 192.168.8.*: Name or service not known
2
задан 8 March 2018 в 10:47

2 ответа

Подстановочные знаки и простой regex (например. ls /usr/bin/x[bc]*) только работа над локальной файловой системой.

Подстановочные знаки не могут знать, в который удаленный хост, который Вы хотите, копирует папки. Вам нужен цикл для этого:

for i in $(seq 8 18); do; \
   rsync -az -e ssh /path/to/source 192.168.8.$i:/path/to/destination; \
done

Это скопирует source ко всему хосту от 192.168.8.8 до 192.168.8.18.

1
ответ дан 2 December 2019 в 04:45

rsync может только скопировать в одно место назначения за один раз, как ssh может только соединиться с одним местом назначения на вызов.

Однако можно хотеть взглянуть на пакет pssh (для Параллельного SSH), который также обеспечивает параллель rsync:

- Parallel rsync (parallel-rsync, upstream calls it prsync), efficiently
  copies files to multiple hosts in parallel
0
ответ дан 2 December 2019 в 04:45

Другие вопросы по тегам:

Похожие вопросы: