當前位置:首頁 » 編程軟體 » 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

熱點內容
湖南it伺服器怎麼樣 發布:2025-01-16 03:01:01 瀏覽:245
圖中兩種配置哪個好 發布:2025-01-16 02:59:28 瀏覽:579
如何解開密保密碼 發布:2025-01-16 02:57:44 瀏覽:20
中國銀行查詢密碼是什麼 發布:2025-01-16 02:33:20 瀏覽:791
堅果pro錄音文件夾 發布:2025-01-16 02:31:46 瀏覽:939
支付寶的登錄密碼忘記了如何改 發布:2025-01-16 02:30:30 瀏覽:221
解壓作業泥 發布:2025-01-16 02:28:02 瀏覽:807
我的世界rpg伺服器空島 發布:2025-01-16 02:26:49 瀏覽:90
ps腳本函數 發布:2025-01-16 02:15:28 瀏覽:481
android顯示行數據 發布:2025-01-16 02:07:40 瀏覽:963