雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

Linux/apache

當(dāng)前位置:主頁 > 服務(wù)器 > Linux/apache >

shell腳本自動檢測網(wǎng)絡(luò)掉線和自動重連

來源:本站原創(chuàng)|時間:2020-01-10|欄目:Linux/apache|點擊:

在ppp移植成功后,有時會出現(xiàn)ppp掉線等情況。這篇文章寫了一個自動檢測連接網(wǎng)絡(luò)的解決方法。

創(chuàng)建一個shell腳本,在里面添加一下內(nèi)容。(記得給操作權(quán)限)

#!/bin/sh
//根據(jù)你自己的shell類型來選擇。
while true
//先做一個死循環(huán)
do
ping -c 3 -I ppp0 172.16.1.11 >/dev/null
//指定一個出口去ping服務(wù)器的局域網(wǎng)ip,將結(jié)果重定向到/dev/null里。
//-c 3 是指ping執(zhí)行3次后結(jié)束。
//-w 3 是指ping執(zhí)行3秒后結(jié)束。
if [  $? -eq 0  ];then
//[]的兩邊都要有空格隔開
//當(dāng)ping成功了,它的返回值為0,什么也不用干。說明網(wǎng)絡(luò)暢通。
//$?是用來獲取函數(shù)返回值或者上一個命令的退出狀態(tài)。
echo "ppp0 is ready"
sleep 30
//為了防止過度的占用cpu資源,選擇延遲一段時間。
else
//當(dāng)不成功說明這個網(wǎng)絡(luò)或出口有問題。
echo "ppp0 is connecting"
pppd call connectvpn
//重新?lián)芴枺⑿逻@個出口。
ifconfig
sleep 30
fi
sleep 30
done

程序中加入了延時,是為了減少檢測所占用的cpu資源。本腳本是一分鐘檢測一次網(wǎng)絡(luò)狀況。

當(dāng)執(zhí)行shell時出現(xiàn)syntax error: unexpected “then” (expecting “done”)報錯是是因為編碼格式不對,重新手打一遍就應(yīng)該好了。

ps:linux檢測程序是否掛掉并自動重新運行的腳本

編寫一個腳本替代應(yīng)用程序的運行,也就是通過啟動腳本來啟動程序,并監(jiān)測程序是否掛掉,若掛掉則重新運行

#!/bin/sh
while true
do
ps -ef | grep "$PWD/app/auto_run.sh" | grep -v "grep"
if [ "$?" -eq 1 ]
then
/home/root/app/auto_run.sh #啟動應(yīng)用,修改成自己的啟動應(yīng)用腳本或命令
echo "process has been restarted!"
else
echo "process already started!"
fi
sleep 10
done

總結(jié)

以上所述是小編給大家介紹的shell腳本自動檢測網(wǎng)絡(luò)掉線和自動重連,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

上一篇:Linux下升級安裝python3.8并配置pip及yum的教程

欄    目:Linux/apache

下一篇:shell隨機(jī)定時修改密碼change

本文標(biāo)題:shell腳本自動檢測網(wǎng)絡(luò)掉線和自動重連

本文地址:http://www.jygsgssxh.com/a1/Linux_apache/10551.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有