Прежде всего, есть пдш которая по сути является параллельной распределенной оболочкой, которая может выполнять команды в списке заданных хостов. Однако я оказался в ситуации, когда проблема только в IPv6. Похоже, что pdsh не может использовать IPv6, так как я получаю сообщения об ошибках:
pdsh -w ^hostnames my_command
pdsh@myhost: gethostbyname("foobar") failed
Я также пробовал использовать только адреса IPv6, что тоже не сработало. Так как же запустить один сценарий оболочки для административных целей (без использования SGE и т.п.) на группе хостов, доступных только по IPv6?
ClusterSSH может использовать SSH на нескольких хостах и реплицировать нажатия клавиш на все или часть хостов, к которым вы подключились. Он работает в Linux и некоторых UNIX. ClusterSSH можно использовать в интерактивном режиме, или вы можете указать команду для запуска на удаленном хосте с помощью флага -a. Однако, насколько мне известно, для этого требуется X-сервер, потому что это приложение с графическим интерфейсом.
В моей системе он использует OpenSSH для открытия SSH-соединения, поэтому он может достигать адресатов только для IPv6.
Мне нравится Dancer's Shell / Distributed Shell:
http://www.netfort.gr.jp/~dancer/software/dsh.html
Поскольку он использует SSH, если ваши хосты доступны по IPv6 и запускают sshd, тогда все будет в порядке.
По крайней мере, он упакован в Debian и Ubuntu.
Предполагая, что у вас запущены демоны ssh и они привязаны к интерфейсу IP6 (/ etc / ssh / sshd_config ListenAddress) Следующий сценарий оболочки должен более или менее делать то, что вы хотите:
for hostName in `cat serverList.txt`
do
(ssh userName@$hostName 'command' &) 2>&1 >> "${hostname}.log"
done
Смотрите также: https://stackoverflow.com/questions/8677542/ssh-and-bring-up-many-processes-in-parallel-solaris