当前位置:首页 » 编程软件 » linuxping脚本

linuxping脚本

发布时间: 2022-02-21 14:39:11

Ⅰ 在linux下如何基于ping的写一个 shell脚本,完成定期测量 从本机到 某些主机的RTT信息

#!/bin/bash

while:
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1


whilereadline
do
>${TMP}
ping-c${PACKETTIMES}-i${INTERVAL}-s${PACKETSIZE}$line>>${TMP}
DELAY=`greprtt${TMP}|awk'{print$4}'|awk-F"/"'{print$1"/"$2"/"$3}'`
LOST=`greploss${TMP}|awk-F"%"'{print$1"%"}'|awk'{print$NF}'`
DATE=`date+"%Y-%m-%d%H:%M:%S"`
if[-z"${DELAY}"]
then
DELAY=none
fi
echo"################################################">>${OUTPUT}
echo"${DATE}${HOSTIP}>${line}themin/avg/maxis${DELAY}andpacketslost${LOST}">>${OUTPUT}/ping.txt
rm-rf${TMP}
done<${IPFILE}

sleep${SLEEPTIME}
done


= =缺点是 运行时候 要加个 ./脚本 & 后台执行

Ⅱ Linux下ping 4次1500的大包指令是什么

此命令是错误的。需要使用100ping命令的-c和-s参数。它们的含义如下:-c号:发送指定数量的数据包后停止。

-sbytes:指定查询发送数据的字节数,默认值为answer56,加上8字节的ICMP头,共64ICMP数据字节。

使用例子:$ping-c4-s1500192.168.1.1

关闭方法:

1.首先将linux操作系统网络,点击鼠标右键选择终端。

Ⅲ linux shell脚本写一个PING主机命令

while true
do
if [ `ping -c 1 192.168.0.2|grep 100%|wc -l` -ne 0 ];then

echo diaoxian_192.168.0.2 >>log2

fi

done

Ⅳ Linux下shell脚本PING命令只要延迟高于100ms就发送个邮件

#!/bin/bash
Timeout=0;
Timeout_limit=1;
Timeout_flag=0;
IP="8.8.8.8"

while [ 1 ]
do
# 取平均延迟的整数位
Timeout="`ping $IP -c 3 | grep 'min/avg/max/mdev'|awk '{print $4}'|cut -b ƍ'`"
if [ $Timeout -ge $Timeout_limit ] &amp;&amp; [ $Timeout_flag -ne 1 ]; then
echo ping timeout, average delay=$Timeout ms
mail -s 'Ping Delay' 邮箱 &lt; ar/log/boot.log
Timeout_flag=1
fi
if [ $Timeout -lt $Timeout_limit ] &amp;&amp; [ $Timeout_flag -ne 0 ]; then
echo ping recovery, average delay=$Timeout ms
mail -s 'Ping recovery' 邮箱 &lt; ar/log/boot.log
Timeout_flag=0
fi
sleep 5
done
第三行Timeout_limit值写错了,应该是100哈,代码提交了不能改了。你这个不需要把延迟结果保存在文件的,而是应该需要作定时检测的。

Ⅳ 如何让linux每隔五分钟进行一次ping命令

1、首先打开termail命令窗口,使用命令:ping -help,如下图所示。

Ⅵ 我在linux下的/usr/local目录下写了个脚本pingtest.sh,这个脚本就一条ping ip地址命令。

你只杀了父进程,子进程还存在,只是其父进程成了init
必须把脚本及其子进程都杀掉

Ⅶ 写个LINUX的SHELL 脚本,要求:PING 一个网站地址,把结果写到另一个文本文件中,怎么写,请教,在线等

ping -c 5 www..com >ping.txt,其中通断过程可以用grep命令从txt文件中查找并加以判断。

Ⅷ 使用ping命令对批量ip地址进行测试 用Linux shell脚本编程实现;

#!/bin/bash
for i in $(seq 151 254)
do
ping -c 1 192.168.0.$i &>/dev/null
if [ $? -eq 0 ];then
echo "Ip is up "
else
echo "ip is down"
fi
done

Ⅸ linux服务器上写个脚本,每隔xx分钟ping指定ip,如果不通,向指定邮箱发送邮件。

别发邮件了 直接发短信多好。。。
我以前练习的时候写的,挺烂的但是能用

#!/bin/bash
#ping 2分钟结果存入文件
#var 1.0
#LX 2009年4月6日

#help function
help()
{
cat << HELP

============= ping120s.sh help =============
ping目标地址,存入文件。 配合crontab用

USAGE:
-h 显示帮助
-to IP ping的IP地址
-sh 检查历史是否有丢包
-show 检查详细历史
-gz 压缩以前的记录,并删除txt文件
-of dir 指定输出文件的位置(要求绝对目录),也可以指定文件名(不建议)

HELP
}

#简略输出结果的函数
shmin()
{
for fName in PING__*.txt
do
var=$(sed -n '/.*packets.*/p' $fName | sed 's/.*received,//g' | sed 's/, time.*//g')
var="$(sed -n '/2009_.*/p' $fName) ==>$var"
echo "$var"
var=""
done
}

toGz()
{
gzName=ALL_$(date +%Y年%m月%d日%k时).tar.gz
gzName=`echo "$gzName" | sed 's/ /0/g'`
tar cvfz "$gzName" *.txt
[ ! -d old ] && mkdir old
[ ! -d tmp ] && mkdir tmp
mv $gzName old/ && mv *.txt tmp/
}
############## main ###############
[ -z $1 ] && { echo "参数错误"; help; exit 1; }
#fileName=ping__$1__$(date +%m月%d日%k:%M)
#删除文件名中的空格, 不删除的话0点到10点之前都没法记录 日亚终于找到毛病了
#fileName=`echo "$fileName" | sed 's/ /0/g'`
#echo $fileName
TIMEOUT=30

while [ -n "$1" ]; do
case "x$1" in
x-h) help; exit 0;;
x-to)
shift
[ -z "$1" ] && { echo "参数错误"; help; exit 1; }
pingTo="$1"
shift
;;
x-sh) shmin; exit 0;;
x-show) clear; tail -n 3 PING__*.txt; exit 0;;
x-gz) toGz; exit 0;;
x-of)
shift
[ -z "$1" ] && { echo "参数错误"; help; exit 1; }
ofilename="$1"
shift
;;
*) echo "error"; help; exit 1 ;;
esac
done

#-to是必须参数,ping到那里
[ -z "$pingTo" ] && { echo "-to 参数必选之参数"; help; exit 1; }

#判断存数文件的中间名
if [ -z "$ofilename" ] || [ -d "$ofilename" ]; then
mfileName=$pingTo
else
mfileName=${ofilename##/*/}
fi
#生成存储文件的名称,如没有sed那句过了夜里12点0点开头到9点都无法存储,应为有个空格 日!
fileName=PING__"$mfileName"__$(date +%m月%d日%k:%M)
fileName=`echo "$fileName" | sed 's/ /0/g'`

#存储的目录判断,默认是$PWD,主要是判断绝对目录开头的/和结束的/
dirName="$PWD/"
if [ "x${ofilename%${ofilename#?}}" = "x/" ]; then
if [ -d "$ofilename" ]; then
dirName="$ofilename"
[ "x${ofilename#${ofilename%?}}" = "x/" ] || dirName="$dirName/"
elif [ -d "${ofilename%/*}" ]; then
dirName="${ofilename%/*}/"
fi
fi

#echo $fileName
#echo $dirName
echo "$(date +%Y_%m_%d__%H:%M)" > "$dirName$fileName.txt"
ping "$pingTo" -n -w "$TIMEOUT" >> "$dirName$fileName.txt"
wait
bash sms.sh "$pingTo" 2>>sms.log
exit 0

下面是发短信脚本 sms.sh
lx@lx-Linux:~/bash/lx/ping$ cat sms.sh
#!/bin/bash

data=$(sh ping120s_V1.sh -sh| awk -F"[% ]" '{print $3}'|tac)
data=$(echo $data | awk '{print $1,$2}')
shijian=$(date +%Y年%m月%d日%k时%M分|sed 's/ *//g')
if [ -z $1 ]
then
address=""
else
address="$1"
fi

#echo $data
#echo $shijian
#data="40 $data"
for i in $(echo $data)
do
# echo "-->$i"
if [ $i -ge 40 ]
then
# echo "$i>=40"
sms -f 手机号码 -p 飞信密码 -t 发送给那个手机 -m "To:$address $i% loss -- $shijian" >>sms.log
wait
echo "To:$address $i% loss -- $shijian" >>sms.log
# bash ping120s_V1.sh -gz
exit 9
else
# echo "$i<40"
:
fi
done

exit 0

热点内容
lol最新刷金币脚本 发布:2025-01-16 05:56:22 浏览:562
电脑登陆加密 发布:2025-01-16 05:21:57 浏览:152
安卓怎么修复闪退 发布:2025-01-16 05:21:54 浏览:554
易盾加密 发布:2025-01-16 05:20:51 浏览:894
html上传图片的代码 发布:2025-01-16 05:16:55 浏览:601
搭建服务器租用电信的怎么样 发布:2025-01-16 05:12:32 浏览:49
phpmysql源码下载 发布:2025-01-16 05:12:31 浏览:211
python安装依赖包 发布:2025-01-16 05:11:45 浏览:996
澳门云主机品牌服务器 发布:2025-01-16 05:06:55 浏览:769
数据库设计主要内容 发布:2025-01-16 05:02:02 浏览:13