Ping--弱鸡版
适合需要大量ping不同主机的用户
#脚本正文,建议chmod +x p.sh后,使用 ./p.sh执行即可
cat p.sh #! /bin/bash #把需要测试的Host填进下列双引号内,每行一条记录 echo " www.itpwd.com www.aliyun.com " > /tmp/tmp_IPList.txt for i in `cat /tmp/tmp_IPList.txt` do ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'` if [ $ping -eq 100 ];then echo ping $i fail else echo ping $i ok fi done
------------------------我是娇气的分割线------------------------
Ping--弱鸡增强版
监控的每个Host记录按照月份保存记录
#文件路径
pwd /root/shell #以下文件均放入此路径
#脚本正文,增加执行权限 chmod +x ping.sh
cat ping.sh #! /bin/bash for i in `cat /root/shell/IPList.txt` do ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'` datestr=`date '+%Y-%m-%d %H:%M:%S'` datem=`date '+%Y%m'` if [ ! -d "/root/shell/log/$datem" ]; then mkdir -p /root/shell/log/$datem fi file="/root/shell/log/"$datem"/"$datem"_"$i".csv" if [ ! -f "$file" ]; then touch "$file" echo Time,Type,Host,Status >> $file fi #t=`grep -c "" $file` #if [ $t -ge 100 ];then #如果大于100行记录 #sed -i '1,10d' $file #删除开始的1-10行记录 #fi if [ $ping -eq 100 ];then echo $datestr,ping,$i,fail >> $file else echo $datestr,ping,$i,ok >> $file fi done
#需要Ping的网址&IP地址,每行一条记录
cat IPList.txt www.itpwd.com www.aliyun.com
加入crontab每分钟执行
crontab -l */1 * * * * source ~/.bash_profile;/bin/sh /root/shell/ping.sh
#查看最近5分钟记录,每分钟自动刷新
watch -n 60 'cd log/`date '+%Y%m'`/ && tail -n 5 *'