我曾经遇到过令人沮丧的问题,一台计算机的网络显然是随机出现的,而且作为一种解决方案,我做了一个简单的cron工作,每小时重新启动一次。但是,如果网络已经启动,这似乎很愚蠢 - 为什么重启它,对吧?
那么我是否可以创建一个简单的脚本来首先检查(ping?ifconfig?)以查看网络是否正常工作,然后只有在返回false时才重启?或者网络管理器上的标志会自行检查?
我的cron就是这样:
15 * * * * /sbin/service network-manager restart
提前感谢任何有关如何最好地进行网络管理"这个! (双关语!): - )
答案 0 :(得分:1)
从crontab调用更复杂的脚本:
15 * * * * mySafeRestart
#!/bin/bash
# mySafeRestart : restart only if uncommunicative
if ! ping -c 1 remote.host.com ; then
/sbin/service network-manager restart
fi
关于网络测试,请参阅How to test an Internet connection with bash?
使用下面建议的netcat测试将是:
if ! nc -w 2 google.com 80 ; then
...