应用场景:现在有一大堆服务器ip需要我去验证是否能ping通,如果单纯用for一个个ip来操作太费时间了,下面的脚本可以指定并发数,批量执行,并发数默认10个,
如果要修改执行脚本后加 并发数,比如sh checkping.sh20:
[root@localhost ~]#cat checkping.sh
#!/bin/bash
tmpfile=$$.fifo
mkfifo $tmpfile
exec 4<>$tmpfile
rm $tmpfile
thred=$1
thred=${
thred:-10}
#
{
for (( i = 1;i<=${thred};i++ ))
do
echo;
done
}>&4
for ip in `cat newsclient.ip`
do
{
echo $ip
ping $ip -c 2
if [ $? -eq "0" ]
then
echo $ip >> newsclient_ping1.ok
else
echo $ip >> newsclient_ping1.problem
fi
echo >&4
}&
done <&4
wait
阅读(2986) | 评论(0) | 转发(0) |