Scripting 如何添加不同计算机的活动netstat连接数?
我编写这段代码是为了从一台机器获取连接,并将它们与另一台机器的连接数相加 此代码未提供任何netstat,0用于活动连接Scripting 如何添加不同计算机的活动netstat连接数?,scripting,shell,unix,Scripting,Shell,Unix,我编写这段代码是为了从一台机器获取连接,并将它们与另一台机器的连接数相加 此代码未提供任何netstat,0用于活动连接 #!/usr/bin/ksh -xvf Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP" for i in $Machine_Deta
#!/usr/bin/ksh -xvf
Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP"
for i in $Machine_Detail
do
machine_connect=$(echo $i | cut -d'|' -f1)
echo $machine_connect
ssh $machine_connect
Conn_count=**$(netstat -an | grep $`echo ${i} | cut -d'|' -f2`| wc -l | sed 's/ //g')**
Conn_count=$((${Conn_count}+$(netstat -an | grep $`echo ${i} | cut -d'|' -f3` | wc -l | sed 's/ //g')))
Conn_count=$((${Conn_count}+$(netstat -an | grep $`echo ${i} | cut -d'|' -f4` | wc -l | sed 's/ //g')))
Conn_count=$((${Conn_count}+$(netstat -an | grep $`echo ${i} | cut -d'|' -f5` | wc -l | sed 's/ //g')))
Total_Conn_Count=$((${Total_Conn_Count}+${Conn_count}))
echo $Total_Conn_Count
exit
done
您需要将
netstat
命令作为ssh
命令的参数发送,以便在目标机器上执行该命令。您可以使用egrep
利用管道字符一步获得计数。我不确定您是否真的需要sed
删除任何空格
#!/usr/bin/ksh -xvf
Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP"
for i in $Machine_Detail
do
saveIFS=$IFS
IFS='|'
fields=($i)
machine_connect=${fields[0]}
keys="${fields[*]:1}"
IFS=$saveIFS
echo $machine_connect
Conn_count=$(ssh $machine_connect "netstat -an | egrep $keys | wc -l")
((Total_Conn_Count += Conn_Count))
done
echo $Total_Conn_Count
您需要将
netstat
命令作为ssh
命令的参数发送,以便在目标机器上执行该命令。您可以使用egrep
利用管道字符一步获得计数。我不确定您是否真的需要sed
删除任何空格
#!/usr/bin/ksh -xvf
Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP"
for i in $Machine_Detail
do
saveIFS=$IFS
IFS='|'
fields=($i)
machine_connect=${fields[0]}
keys="${fields[*]:1}"
IFS=$saveIFS
echo $machine_connect
Conn_count=$(ssh $machine_connect "netstat -an | egrep $keys | wc -l")
((Total_Conn_Count += Conn_Count))
done
echo $Total_Conn_Count
下面的代码工作正常
#!/usr/bin/ksh -xvf
Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP"
for i in $Machine_Detail
do
machine_connect=$(echo $i | cut -d'|' -f1)
echo $machine_connect
Conn_count=$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f2))))" | wc -l | sed 's/ //g'")
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f3))))" | wc -l | sed 's/ //g'")))
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f4))))" | wc -l | sed 's/ //g'")))
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f5))))" | wc -l | sed 's/ //g'")))
Total_Conn_Count=$((${Total_Conn_Count}+${Conn_count}))
echo $Total_Conn_Count
done
下面的代码工作正常
#!/usr/bin/ksh -xvf
Machine_Detail="prpm@sp204|LC1_R11_LCP|LC1_R12_LCP|LC1_FR15_LCP|LC1_R16_LCP prpm1@sp2048|LC1_R13_LCP|LC1_R14_LCP|LC1_R17_LCP|LC1_R18_LCP"
for i in $Machine_Detail
do
machine_connect=$(echo $i | cut -d'|' -f1)
echo $machine_connect
Conn_count=$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f2))))" | wc -l | sed 's/ //g'")
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f3))))" | wc -l | sed 's/ //g'")))
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f4))))" | wc -l | sed 's/ //g'")))
Conn_count=$((${Conn_count}+$(ssh -f -T $machine_connect "netstat -an | grep "$(echo $(($(echo $i | cut -d'|' -f5))))" | wc -l | sed 's/ //g'")))
Total_Conn_Count=$((${Total_Conn_Count}+${Conn_count}))
echo $Total_Conn_Count
done
无法分析IFS=“|”:运行结果:机器连接=prpm@sp204|LC1_R11_LCP | LC1_R12_LCP | LC1_FR15_LCP | LC1_R16_LCP+acb.sh[10]:key=“${fields[*]:1}”:错误的替换字段=($i)也不工作字段=$i正在工作为什么?无法解析IFS='|':运行结果:机器连接=prpm@sp204|LC1_R11_LCP | LC1_R12_LCP | LC1_FR15_LCP | LC1_R16_LCP+acb.sh[10]:key=“${fields[*]:1}”:坏的替换字段=($i)也不工作字段=$i正在工作为什么?