gpt4 book ai didi

python - 一个接一个地同时执行某些命令,同时执行两台所有服务器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:35 24 4
gpt4 key购买 nike

我需要在 6 台服务器上同时执行命令 1 和命令 2,然后我需要运行命令 3 和命令 4。

#!/bin/sh
#Instance details
Server1="<Server1>"
Server2="<Server2>"
Server3="<Server3>"
Server4="<Server4>"
Server5="<Server5>"
Server6="<Server6>"
ssh root@$Server1 "command1" &
ssh root@$Server1 "command2" &
ssh root@$Server2 "command1" &
ssh root@$Server2 "command2" &
ssh root@$Server3 "command1" &
ssh root@$Server3 "command2" &
ssh root@$Server4 "command1" &
ssh root@$Server4 "command2" &
ssh root@$Server5 "command1" &
ssh root@$Server5 "command2" &
ssh root@$Server6 "command1" &
ssh root@$Server6 "command2" &
wait
ssh root@$Server1 "command3" &
ssh root@$Server1 "command4" &
ssh root@$Server2 "command3" &
ssh root@$Server2 "command4" &
ssh root@$Server3 "command3" &
ssh root@$Server3 "command4" &
ssh root@$Server4 "command3" &
ssh root@$Server4 "command4" &
ssh root@$Server5 "command3" &
ssh root@$Server5 "command4" &
ssh root@$Server6 "command3" &
ssh root@$Server6 "command4" &

有没有更好的方法,因为我有大约 10 个服务器和 10 个命令。

请帮助一个简单的 robosut 方式。

最佳答案

#!/bin/bash
cmds=(
'command1; command2'
'command3; command4'
)
servers=( Server1 Server2 Server3 Server4 Server5 Server6 )

for c in "${cmds[@]}"; do
for s in "${servers[@]}"; do
ssh root@"$s" "$c" &
done
wait
done

关于python - 一个接一个地同时执行某些命令,同时执行两台所有服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49592150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com