在远程计算机上以并行bash脚本运行多个脚本

时间:2020-05-05 21:13:49

标签: bash shell ssh ps thredds

在以下bash脚本中,我们希望在远程计算机上并行运行多个脚本

char*

不确定是否要在脚本或其他方法的末尾加上“ 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 个答案:

答案 0 :(得分:1)

并行运行这些命令就可以了,除了交错输出。要保存输出以供以后分析,您还可以“准备”日志以供以后检查:

#!/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
相关问题