如何修復虛擬機器中的連線遺失問題?

如何修復虛擬機器中的連線遺失問題?

我的虛擬機器在 Linux 上有時會失去網路連接,我需要不斷保持連線。所以我寫了以下腳本:

#!/bin/bash 
wget -q --tries=10 --timeout=20 --spider http://google.com 
if [[ $? -ne 0 ]]; then 
    service network-manager restart
fi

當我在控制台中運行此腳本時,它可以工作,但使用cron我來獲得:

network-manager: unrecognized service

我可以做些什麼來實現這項工作,或者還有什麼其他方法可以幫助我?

- - - - - - - - 解決方案 - - - - - - - -

要知道為什麼它在控制台中啟動但在cron我在控制台中運行的任務期間不起作用:

echo $PATH

然後顯示:

 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

所以我將腳本編輯為:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

wget -q --tries=10 --timeout=20 --spider http://google.com 
if [[ $? -ne 0 ]]; then 
    service network-manager restart
fi

現在就可以了!

答案1

假設您正在使用某種類似 Linux Mint 的發行版...

聽起來「服務」程式找不到要執行的「網路管理員」腳本。它會在 /etc/init 或 /etc/init.d 中查找,以便您可以在那裡查看可用的內容。

或者看看自動完成是否會告訴你(在我看來更簡單)。打開終端機並輸入:

service net

然後輸入TAB幾次,應該會得到一個自動完成的名稱,例如“networkign”,甚至會看到一些可以使用的選項,例如:

$ service networking 
force-reload  reload        restart       start         stop   

sudo所以你可以嘗試使用(如果腳本還不是 root可能需要):

service networking restart

另外,您可以ping每隔一分鐘左右訪問一次像谷歌這樣的網站,看看網路是否仍然正常,而不是嘗試下載它。


嘗試檢查虛擬機錯誤或奇怪的設置,通常它不應該失去網路連接,除非主機失去它...

相關內容