Параллельный запуск нескольких скриптов bash скриптов на удаленных машинах - PullRequest
0 голосов
/ 06 мая 2020

в следующем bash скрипте, мы хотим запускать параллельно несколько скриптов на удаленных машинах

ssh $server_a  /tmp/activate_nodes.bash &
ssh $server_b  /tmp/activate_services.bash &
ssh $server_c  /tmp/activate_components.bash &
ssh $server_d  /tmp/activate_nfs.bash &
.
.
.

не уверены, что поместили «&» в конец скрипта или другой подход?

Примечание цель состоит в том, чтобы запустить все 25 сценариев на 25 машинах различий, поэтому все сценарии будут выполняться за несколько секунд, в то время как выполнение сценариев на удаленной машине по-прежнему будет выполняться до конца

1 Ответ

1 голос
/ 06 мая 2020

Выполнение их параллельно - это нормально, за исключением чередующегося вывода. Чтобы сохранить выходные данные для последующего анализа, вы также можете «добавить» журналы для последующей проверки:

#!/usr/bin/env bash
ssh $server_a  /tmp/activate_nodes.bash      2>&1 | tee ${server_a}_$$.log &
ssh $server_b  /tmp/activate_services.bash   2>&1 | tee ${server_b}_$$.log &
ssh $server_c  /tmp/activate_components.bash 2>&1 | tee ${server_c}_$$.log &
ssh $server_d  /tmp/activate_nfs.bash        2>&1 | tee ${server_d}_$$.log &
wait
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...