Я могу запускать команды параллельно в списке машин, используя команду pssh
. Например, чтобы создать папку foo
на нескольких машинах, перечисленных в hosts.txt
я могу запустить:
pssh -h hosts.txt -l MyUserName "mkdir foo"
Но так как команде требуется больше аргументов (то есть использование открытого ключа для аутентификации и т.д.), Я попытался создать следующий скрипт bash bar.sh
, так что команда, которую я хочу выполнить, просто дается в качестве аргумента скрипту:
#!/bin/bash
pssh -h hosts.txt -l MyUserName "$@"
Но запуск bar.sh mkdir foo
замораживает терминал, даже я не могу убить его с помощью Ctrl+C.
Есть идеи?