我有一个项目,其中主服务器在 4 个从属服务器上执行脚本(1 个从属服务器=主服务器)。
使用 & 语句并行调用所有 4 个从站,如下所示:
sh /data/lpc/scripts/Remote_Execution/Python0/scrap_data_param.sh Python0 $Python0_ip &
sh /data/lpc/scripts/Remote_Execution/Python1/scrap_data_param.sh Python1 $Python1_ip &
sh /data/lpc/scripts/Remote_Execution/Python2/scrap_data_param.sh Python2 $Python2_ip &
sh /data/lpc/scripts/Remote_Execution/Python3/scrap_data_param.sh Python3 $Python3_ip
脚本*scrap_data_param*使 ssh 连接到远程 IP 并循环运行各种命令。
我面临的问题是 SSH 会话完成并迭代下一个循环语句,甚至在特定 SSH 会话完成之前:
我附上了 scrap_data_param.sh 供您参考:
while read line
do
c="n"
for word in $line
do
if [ "$c" = "n" ]; then
ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_scraping.sh $word_match $word
done
ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_matching.sh $word_match
done <'ssss.txt'
所以循环在一个语句完成之前迭代下ssh $python_server_ip -n -p 1754 sh /data/lpc/scripts/remote_matching.sh $word_match
一个语句。