導航:首頁 > IDC知識 > linuxping域名自動追加

linuxping域名自動追加

發布時間:2021-03-22 12:12:09

1、linux下ping 域名,在通之前總需要等一段時間,十幾秒的樣子,怎麼解決?

ping 加 -n 參數不對域名進行反解析即可。慢的原因是反向解析的時候被阻塞而推遲了顯示的時間,所以造成 ping 域名間隔很長的假象。

2、讓linux系統每隔1分鍾ping一個目標IP,目標IP也是linux,獲取IP後寫入某個文件

tcpmp icmp就能看到源地址,但是icmp的包你分析他沒有意義

3、LINUX系統,每次ping域名都要等十幾秒才能通,通了以後不丟包

看一下你的dns設置,
cat /etc/resolv.conf
再看一下你的nsswitch設置,
cat /etc/nsswitch.conf | grep hosts

4、linux 下 ping 域名,在通之前總需要等一段時間,不知道是為什麼。

原因如wxlluj 所言。
要想快,可以把域名 與對應的ip地址寫入/etc/hosts文件

5、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

6、如何讓linux每隔五分鍾進行一次ping命令

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

2、然後使用ping查看某個網路的是否連通,ping ip,如下圖所示。

3、接著查看某個域名地址是否連通,使用命令:ping 域名地址,如下圖所示。

4、最後可以連續對某個ip或者域名連續ping多次,如對百度地址ping4次,命令為:ping -c 4 www.baidu.com,如下圖所示就完成了。

7、為什麼我的Linux虛擬機搭建好伺服器後每次都域名ping不通,但是一修改win系統下的hosts

很可能是域名解析的問題。檢查你的域名解析是否正常,域名能否解析到專你的伺服器IP。可使用dig,nslookup命令行工屬具檢查你的域名解析是否正常;電腦沒有的話也可以用一些相同功能的在線工具,搜索"域名解析查詢",會有這類網站。

8、linux ping命令 讓其間隔五秒刷新一次 ping -i <time> ip 具體怎麼寫 求解

一般要把參數寫在ip地址的後面具體格式為:ping x.x.x.x -i ss (其中ss為以秒計算的時間長)

與linuxping域名自動追加相關的知識