首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于监控ISDN连接的Bash脚本

用于监控ISDN连接的Bash脚本
EN

Stack Overflow用户
提问于 2010-06-05 09:47:41
回答 2查看 483关注 0票数 0

在Ubuntu 10.04服务器上,我想使用bash脚本执行以下操作:

创建一个监控ISDN连接的服务,如果停机时间超过60秒,则强制重新连接。我目前的解决方案是这样的:

代码语言:javascript
复制
#!/usr/bin/bash
LOGFILE=/home/msw/router/ping-stats.txt
TIME="`date +%C%y%m%d%H%M`"
/sbin/ping -c 1 google.com > /dev/null 2>&1
if [ "$?" == "0" ]
then
        STATUS=1
else
        STATUS=0
fi
echo "$TIME $STATUS" >> $LOGFILE

由于ISDN连接上的带宽非常宝贵,因此我希望避免ping,而使用一个简单地检查网络设备状态的命令来代替它。有没有可能从这一点推断连接是否处于“正常”状态?

我还希望将解决方案实现为一个服务,它可以持续地检查连接,而不是定期使用cronjob进行检查。

如果有人能把我推向正确的方向,我将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-05 09:50:42

对于快速和肮脏,有nm-tooldbus-send可以更精确一点,但需要了解D-Bus如何与NetworkManager一起工作。如果你想持久化一些东西,那么你需要学习如何与D-Bus交互,但这可能需要使用一些低级的东西,比如Python。

票数 1
EN

Stack Overflow用户

发布于 2010-06-05 10:11:51

您的ISDN是由内部适配器提供还是通过以太网连接提供?如果您有外部“调制解调器”,则需要使用SNMP或其专有工具进行查询。

顺便说一句,你可以这样做你的测试:

代码语言:javascript
复制
if /sbin/ping -c 1 google.com > /dev/null 2>&1
then
    ...

而且,单个ping是非常小的字节数。如果你一分钟只做几次,你可能永远不会注意到它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2978790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档