在下面的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个脚本,所以所有脚本的运行将在几秒钟内完成,而远程机器上的脚本将一直运行到结束。
并行运行这些都很好,除了交错的输出。 为了保存输出以便以后分析,你也可以 "tee "日志,以便以后检查。
#!/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