首页 文章

在Ubuntu中使用Bash重新启动每小时网络设备

提问于
浏览
1

好的,这是一个奇怪的 . 基本上我正在尝试做的是使用睡眠定时器运行无限循环,该定时器延迟重启wlan0网络接口的命令的运行 . 听起来很奇怪,但由于某种原因,网卡在大约两个小时后停止连接网络 . 最重要的是,我正在为UNI运行一个Web服务器,并且需要能够远程访问它 . 如果连接断开,我运气不好 . :|

我发现了这个: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 loop而这个Making bash script to check connectivity and change connection if necessary. Help me improve it?第二个做了我想要的但它正在运行其他bash脚本???? :)

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

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

3 回答

  • 0

    如果你想写一个由你自己编写的shell脚本,但我很喜欢重用已经存在的东西 .

    使用cron每小时运行一次脚本 . 为root帐户设置它并让它搞乱界面 .

  • 0

    如果你需要使用sudo来避免密码,那么试试这个:

    $ 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

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

    我以root身份为crontab设置了所有者,以便可以运行ifconfig命令 . 我用这个脚本“0 * / 1 * * * sudo / sbin / ifconfig wlan0 down”它似乎正在工作 . 现在为那些试图自己做的人 . 你必须对你的网络设备真正做我的工作做好准备 . 我有一个TP-Link双频网卡 . 我不知道为什么但是将这张卡与ubuntu相结合,这个命令导致它自动重启并自动重新连接 .

    你的mialage会有所不同 . :)我在我的笔记本电脑上运行此命令,它没有重新启动网络设备所以... :)是的非常小心你可能想弄清楚如何使匹配命令带来设备,但即使我不得不手动重新连接到wifi . :|但对于这个设置,这个网络设备,它的工作原理 . :)

    但是,是的 . :)玩得开心,小心:)

相关问题