2013-03-26 60 views
1

好吧,這很奇怪。基本上我試圖做的就是運行一個無限循環,並帶有一個延遲重啓wlan0網絡接口的命令的運行的睡眠定時器。聽起來很奇怪,但由於某種原因,網卡在大約兩個小時後停止連接到網絡。爲了限制它,我爲UNI運行一個Web服務器,並且需要能夠遠程訪問它。如果連接斷開,我的運氣不好。 :|在Ubuntu中每小時使用Bash重啓網絡設備

我發現這個:Bash "if ping then else" My else is not working這是一個管理網絡接口的簡單方法,只在停止ping時做重新配置。然而這是複雜的。我確實發現了一些其他類似的代碼,但它們同樣含糊。

說實話我是一個基於C的程序員。 C#C++和Java在這個階段(Python並不值得一提)無論如何,我只是在閱讀bash代碼,而不僅僅是修改一個已存在的snipet。 :)

所以這裏是我想要做的sudo代碼。

do { 
    sleep 3600s //works 
    sudo ifconfig wlan0 down //works in terminal but not script 
} while(false); 

所以這就是它。該腳本在啓動時運行。通過用戶手動或通過啓動應用程序系統。我希望它是自動的,但ifconfig命令必須作爲sudo運行,這意味着將腳本作爲sudo運行。 :)

和技巧和/或指針,將不勝感激。我嘗試了舊的echo工作來輸入sudo的密碼,但正如所料,Ubuntu開發人員已經想出瞭如何阻止它。

剛剛發現這個 Bash script to bring up and down an interface on loopMaking bash script to check connectivity and change connection if necessary. Help me improve it? 第二個我想要做什麼,但它的運行其他的bash腳本???? :)

編輯-1:OK ....好,我用crontab的,我想我已經得到的東西的工作,我沒有看到它的任何證據喜歡當我打電話須藤使用ifconfig爲wlan0從命令行了。但我明天就會開始運行,並且看到它可以保持在線狀態。 :)如果不是,我在想我不能從這裏做什麼?

順便提及的ifconfig向下正在該特定設備上的方式是,該命令約20秒後該設備脫機然後將該裝置切換回自動發現網絡和重新連接。 :)對於綁定到MAC地址的IP地址,這並不會對我造成任何問題。 :)

+0

確定,所以看起來我們已經放棄了的Bash腳本雖然它是很好的做一個腳本,但似乎cron的工作....只是我不明白的連接失去了彈出,並在我正在測試的筆記本電腦上搜索連接的東西。 :(當我回家的時候,我會在服務器上給它一個旋風。:)好的...去發表這個評論,並且連接被關閉....呵,也許它工作時不會自動重新連接。 :) – azariah 2013-03-27 01:19:40

+0

查看我的最後評論的最後一篇文章。 – azariah 2013-03-28 04:20:04

回答

0

如果你想編寫一個由你自己決定的shell腳本,但我非常喜歡重用已經存在的東西。

使用cron每小時運行腳本。將其設置爲root帳戶並使其與界面混亂。

+0

我注意到其他人提到cron我必須看看它。 :) – azariah 2013-03-27 00:12:35

+0

好哇很簡單。使用www.corntab.com讓我去。 :)只有一個問題我怎麼知道它的工作和....因爲我打電話ifconfig作爲sudo我需要出席給它一個密碼?或者我應該運行crontab作爲sudo來避免這個問題 – azariah 2013-03-27 01:07:16

0

如果你需要避免密碼中使用,那就試試這個:

$ sudo visudo 

然後,編輯有一樣的東西:

Host_Alias LOCAL=10.0.0.1 # your own local IP address 
user2213541  LOCAL=NOPASSWD: /sbin/ifconfig 

運行一個簡單的方法命令@start_up是在/etc/rc.local中添加一行,它將以root身份運行。

+0

增加了一個'最簡單的方法'來做到這一點。 – 2013-03-26 22:45:07

+0

確定,以便解決sudo問題。我會試一試。我目前離開服務器,但我已經在我的筆記本電腦上運行了ubuntu,所以我會給它一個測試運行 – azariah 2013-03-27 00:13:59

+0

好吧,這是殺了我的sudo文件。現在我無法編輯它將其更改回來!謝謝! – azariah 2013-03-27 00:29:13

0

好吧,我用Crontab完成了我的任務,現在服務器已連接了7個小時。

我以root用戶身份爲crontab設置所有者,以便可以運行ifconfig命令。我用這個腳本「0 */1 * * * sudo/sbin/ifconfig wlan0 down」,它似乎正在工作。現在對那些試圖自己做這件事的人來說。你必須要保證你的網絡設備確實做了我的工作。我有一個TP-Link雙頻網卡。我不知道爲什麼,但把這張卡與ubuntu結合起來,這個命令導致它自動重新啓動並自動重新連接。

你的媽媽會有所不同。 :)我在我的筆記本電腦上運行這個命令,它沒有重新啓動網絡設備,所以...... :)是啊非常小心,你可能想弄清楚如何使一個匹配的命令來使設備,但即使我不得不手動重新連接到無線網絡。 :|但對於這種設置,這個網絡設備,它的工作原理。 :)

但是是的。 :)玩得開心,小心:)