как выполнить сценарий bash с несколькими позиционными параметрами на нескольких хостах параллельно [закрыто]

На самом деле я хочу выполнить приведенный ниже сценарий bash одновременно на нескольких хостах, я попробовал команду pssh для этого:

pssh -h hosts.txt -i -I < myscript arg1 arg2 arg3 

, но она не выполняется, поэтому, пожалуйста, скажите мне, как правильно выполнить это ...

-2
задан 10 January 2019 в 08:42
2 ответа

GNU Parallel имеет специальный режим для этого: - onall :

parallel --slf hosts.txt --onall myscript.sh ::: arg1 arg2 arg3

Это будет работать на всех машинах:

myscript.sh arg1
myscript.sh arg2
myscript.sh arg3

Если вы не хотите, чтобы аргументы изменить, вы можете использовать - nonall :

parallel --slf hosts.txt --nonall myscript.sh arg1 arg2 arg3

, который будет запускаться:

myscript.sh arg1 arg2 arg3

на всех машинах. Используйте -j, чтобы указать, на скольких машинах вы хотите входить параллельно.

2
ответ дан 5 December 2019 в 21:11

Вы можете сделать это с помощью GNU Parallel

cat hosts.txt | parallel ssh {} "'bash -s' <./myscript.sh arg1 arg2 arg3"

1
ответ дан 5 December 2019 в 21:11

Теги

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