用shell脚本批量ping域名

此脚本实现的功能是批量ping域名,将能ping通的和不能ping通的分类,并记录能ping通的域名的相应解析地址

#!/bin/bash

#判断第一个参数是否是文件,不是则退出
if [[ -f $1 ]];then
    do_name=(`cat $1`)
else
    echo "$1文件不存在"
    exit 1
fi
#设置ping的包个数
package_num=2

echo -e "解析地址\t\t域名">>res_ok.txt
echo "域名">>res_error.txt

#循环ping文件中的域名,并记录结果
for name in ${do_name[*]}
do
    ip=`ping -c $package_num $name | awk -F " " ‘NR==2{print $4}‘`
    if [ "$ip" != "" ];then
            echo -e "$ip\t\t$name">>res_ok.txt
    else
            echo "$name">>res_error.txt
    fi
done

注:脚本后直接跟域名文本,文本中一行包含一个域名,运行结果显示在res_ok.txt和res_error.txt中。

原文地址:http://blog.51cto.com/11305362/2311609

时间: 2024-11-09 21:51:53

用shell脚本批量ping域名的相关文章

shell 编写脚本批量ping ip

最近做机房带宽检测.最近编写一个shell脚本批量ping各地机房的ip,返回失败率及平均响应时间 #!/bin/bash log=$1.log echo -n "" > $log for i in `cat $1` do   /bin/ping -s 1000 -f -c 100  $i > ip.txt echo "`curl ip.cn?ip=$i`  `cat ip.txt | grep transmitted  | gawk '{print $6}'` 

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 for i in $(seq -w 10) do         useradd -s /bin/bash oldboy$i         echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i done 脚本执行效果: [[email pro

Linux系统编写shell脚本批量创建和删除用户

一.编写shell脚本批量添加用户 实现方法:判断用户是否存在,存在则返回错误提示,同时判断用户文件是否存在,不存在则退出 1.创建添加用户脚本 [[email protected] ~]# vim useradd.sh #!/bin/bashif [ $# -eq 0 ];then        echo "你没有输入任何文件!"        exit 1fi if [ ! -f $1 ];then        echo "输入有误!"        exit

shell脚本批量部署ssh

日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key

shell脚本-批量telnet

由于现网有时候要测试很多端口的连通性,所以就写了个小脚本,实现批量测试 将telnet成功的写入到telnet_alive.txt中,失败则写入telnet_die.txt中 #!/bin/bash#this script test UP to other host.#Iplist=/opt/script_test/iplist.dataPortnumber=7001for ip in $(cat iplist.data)do  (sleep 1;)|telnet  $ip $Portnumbe

shell脚本批量生成配置文件

如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原理是事先定义一个shell脚本模板,然后每个需要监控的站点复制一份模板替换掉模板文件里面的变量. 1.准备模板文件webcheck.template more webcheck.template ###################WEBURL define start##############

shell脚本批量获取内网主机的MAC地址

这个shell脚本用来批量获取192.168.4.0/24网段的内网主机的mac地址 #!/bin/bash #Author:Jink #这脚本使用ping和arp命令获取内网主机的MAC地址,查询到的MAC地址写入到文件中 myping(){ ping -c2 -w1 -i0.5 $1 &>/dev/null if [ $? -eq 0 ];then arp $1 | tail -1 | awk '{print $1,$3}'>> /tmp/mactable.txt fi }

利用shell脚本批量修改表

最近公司里因为开发新功能,程序员需要快速在某一个库里的所有表添加字段,于是就用shell脚本简单快速实现批量修改表添加字段 #!/bin/bash export mysql_bin=/usr/local/mysql/bin export database=database export tables=`$mysql_bin/mysql -Bse "use ${database};show tables;"` for i in ${tables}         do