1

好的,这是一个奇怪的。基本上我想要做的是运行一个带有睡眠定时器的无限循环,它延迟了重新启动 wlan0 网络接口的命令的运行。听起来很奇怪,但由于某种原因,网卡在大约两个小时后停止连接到网络。为了结束这一切,我正在为 UNI 运行一个 Web 服务器,并且需要能够远程访问它。如果连接断开,我就不走运了。:|

我发现了这个:Bash "if ping then else" 我的 else 不起作用,这是一种管理网络接口的更简洁的方法,只有在停止 ping 时才进行重新配置。然而,这过于复杂了。我确实找到了一些其他类似的代码,但它们同样含糊不清。

老实说,我是一个基于 C 的程序员。C# C++ 和 Java 在这个阶段(Python 真的不值得一提)反正我只是阅读 bash 代码很开心,更不用说修改预先存在的代码片段了。:)

所以这就是我想在 sudo 代码中做的事情。

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

差不多就是这样。该脚本在启动时运行。由用户手动或通过启动应用系统。我希望它是自动的,但是 ifconfig 命令必须作为 sudo 运行,这意味着将脚本作为 sudo 运行。:)

并且提示和/或指针将不胜感激。我尝试了旧的 echo 解决方法来输入 sudo 的密码,但正如预期的那样,Ubuntu 开发人员已经想出了如何阻止它。

刚刚发现这个 Bash 脚本可以在循环中打开和关闭一个界面 ,这个 制作 bash 脚本可以检查连接性并在必要时更改连接。帮我改进一下? 第二个做我想要的,但它正在运行其他 bash 脚本????:)

EDIT-1:好的....好吧,我使用了 Crontab,我认为我有一些工作我没有看到任何证据,就像我从命令行调用 sudo ifconfig wlan0 时一样。但我明天让它继续运行,看看它可以保持在线。:) 如果没有,我想我不能从这里做什么?

顺便说一句,ifconfig down 在此特定设备上的工作方式是该命令在大约 20 秒后使设备脱机,然后设备重新打开,自动找到网络并重新连接。:) 绑定到 MAC 地址的 IP 地址不会对我造成问题。:)

4

3 回答 3

0

好的,所以我使用 Crontab 完成了我的任务,并且服务器现在已经连接了 7 个小时。

我将 crontab 的所有者设置为 root,以便可以运行 ifconfig 命令。我使用了这个脚本“0 */1 * * * sudo /sbin/ifconfig wlan0 down”,它似乎正在工作。现在对于那些试图自己做这件事的人。你必须警惕你的网络设备实际上做了我的工作。我有一个TP-Link双频网卡。我不知道为什么,但是将此卡与 ubuntu 结合使用,此命令会导致它自动重新启动并神奇地自动重新连接。

你的 mialage 会有所不同。:) 我在我的笔记本电脑上运行了这个命令,但它并没有重新启动网络设备,所以...... :) 是的,你可能想知道如何制作一个匹配的命令来带上设备,但即使我也不得不这样做手动重新连接wifi。:| 但是对于这个设置,这个网络设备,它可以工作。:)

但是,是的。:) 玩得开心,小心点 :)

于 2013-03-28T04:19:21.383 回答
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 身份运行。

于 2013-03-26T22:32:17.820 回答
0

如果你想为此编写一个 shell 脚本,这取决于你,但我非常喜欢重用已经存在的东西。

使用cron每小时运行一次脚本。为 root 帐户设置它并让它与界面混淆。

于 2013-03-26T22:41:47.547 回答