- 论坛徽章:
- 0
|
下面是我写的一个采集服务器数据的脚本!
ip.txt包含我所要采集的服务器的ip列表逐一读取后记录到log中
问题现在是4台机器的执行时间就要10秒钟!!
有什么办法可以让对4台机器的数据提取在同一时间完成呢!
我看有前辈说这叫并发~~不太懂哦
#!/bin/sh
LOGFILE=/root/log/test.`date '+%Y%m%d'`
date=`date '+%Y-%m-%d %H:%M:%S '`
echo `date '+%Y-%m-%d %H:%M:%S'` >> /root/snmpdtime.log
for i in `cat /root/ip.txt`
do
port=`nmap $i -p 80 | awk 'NR==5 {print $2}'`
cpu=`snmpwalk -v 1 $i -c adminroot .1.3.6.1.4.1.2021.54 | awk ' NR==5 {OFS="," ;print $4, $5,$6,$7}'`
totaltcp=`snmpwalk -v 1 $i -c adminroot .1.3.6.1.2.1.6.9.0 | awk '{print $4}'`
diskname1=`snmpwalk -v 1 $i -c adminroot .1.3.6.1.4.1.2021.55 | awk 'NR==5 {OFS="," ;print $4,$5,$6,$7}'`
echo $date $i $port , $cpu , $totaltcp , $diskname1 >> $LOGFILE
done
echo `date '+%Y-%m-%d %H:%M:%S'` >> /root/snmpdtime.log |
|