在以下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个脚本,因此所有脚本运行将在几秒钟内完成,而远程计算机上的脚本处理仍将运行直到结束
答案 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