Cron作业只有在它崩溃的情况下重启网络?

时间:2017-03-14 19:40:25

标签: networking cron

我曾经遇到过令人沮丧的问题,一台计算机的网络显然是随机出现的,而且作为一种解决方案,我做了一个简单的cron工作,每小时重新启动一次。但是,如果网络已经启动,这似乎很愚蠢 - 为什么重启它,对吧?

那么我是否可以创建一个简单的脚本来首先检查(ping?ifconfig?)以查看网络是否正常工作,然后只有在返回false时才重启?或者网络管理器上的标志会自行检查?

我的cron就是这样:

15 * * * * /sbin/service network-manager restart

提前感谢任何有关如何最好地进行网络管理"这个! (双关语!): - )

1 个答案:

答案 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
  ...