有没有一个工具,以在Mac上login互联网连接?

我的Mac作为一个dyndns IP服务器运行。 要正常工作,必须始终连接到互联网。 但不幸的是,它似乎在白天没有很多次连接。 所以我需要一个工具,即每分钟检查一次,如果Mac连接到互联网(即试图达到谷歌),并将其写入日志文件。

你知道有什么可以帮助你吗? 我需要在机器上检查它,如果它本身已经上网。 Mac OS 10.5。 多谢你们!!

你可以在普通的mac上安装nagios,它们也是Unix机器:)

这样的脚本会这样吗?

#!/bin/bash LOG=/tmp/LOG rm -f $LOG while ( true ); do date >> $LOG; curl http://www.google.com/ > /dev/null 2>> $LOG sleep 60 ; done 

Nagios将在Mac上运行,它是开源的/免费的!

http://www.macworld.com/article/134079/2008/06/nagios.html

通过安装Nagios,您可以将运行Mac OS X Server的Mac变成一个networking监控站,通常在别人注意到您之前,通知您服务器上的硬件和软件问题。 Nagios可以同时使用电子邮件和短信通知您这两个问题,并从问题中恢复。 (后者是很重要的,因为它通常可以使您远离深夜的远程访问会话。)由于Nagios需要Perl,Apache,SNMP和Mac OS X Server随附的其他一些东西,或者可以安装对于任何networkingpipe理员来说,这是一个很好的方式来更好地监视他们的networking。

对于这个,Nagios是矫枉过正的,恕我直言。 此外,这个扩展的脱机阶段的一个可能的原因是缺lessnetworkingstream量,所以你的路由器脱机。

这将被詹姆斯的脚本阻止,我只是稍微修改,以避免每隔60秒下载谷歌页面。

只需将curlgoogle.com行replace为以下内容即可

 ping -c1 -t 5 www.google.com > /dev/null if [ "$?" = "0" ]; then echo "I am online" > $LOG else echo "Boo, the internet is broken, google doesn't answer" > $LOG fi 

或者,如果您只想logging脱机阶段,请修改完整的脚本,如下所示:

 #!/bin/bash LOG=/tmp/internetlog rm -f $LOG while ( true ); do ping -c1 -t 5 www.google.com > /dev/null if [ "$?" -gt "0" ]; then echo `date` " I am offline" >> $LOG fi sleep 60 ; done 

这取代了curl调用,它从谷歌下载整个页面与一个单一的ping与5秒的超时,这是正常的。

它可能有点矫枉过正,但我​​build议你使用nagios的插件链接文本 ,使用它们,然后你可以写一个简单的shell脚本来做你所需要的,或者我猜其他的select,你可以使用简单的ping还与shell脚本,但是可以用nagios插件来完成。