2014-01-30 58 views
0

我想创建一个系统来监视使用PHP的Minecraft服务器。然后它会定期(每10分钟)检查一次服务器的状态。如果服务器无法访问,它将花费多长时间,然后将其存储在数据库中。正常运行时间监视器PHP

我已经创建了用于检查服务器状态的代码,但是在服务器关闭多久的时间中挣扎。我可以通过什么方式来确定停机时间?

+2

为什么不使用nagios或其他监控工具呢?你可以使用你的脚本作为插件,并且该工具将关心统计/一切。 –

+0

你有什么样的心跳? HTTP,TCP,UDP,ICMP .. – DanFromGermany

+1

因为我需要将这些信息公开显示给用户。 – Brodie

回答

1

你不能计算的停机时间,我建议,当一个停机时间发生,你检查一遍在每一分钟直到正常运行时间,并获得第一次停机时间和下一次正常运行时间的差异时,这会给您一分钟的准确性造成的停机时间

+0

我采纳了这个想法并且编码它正确地工作。谢谢 – Brodie

+0

你的欢迎,我以前也有同样的问题,祝你好运, –

+0

@Brodie,介意分享你的代码? –

0

可以更新到数据库的最后up-time,并用它计算停机时间和每次覆盖的停机时间,你计算它

0

对于这种类型的任务,crontab是一个很棒的工具:将在您设置时执行已定义的命令。

您可以使用您的名为cron作业的isp cpanel工具。从那里创建一个cron作业非常简单。只需输入下面三行的命令部分。

,如果你不能使用这个工具,或者选择直接写入你的crontab,这些线是得到命令(http://www.pantz.org/software/cron/croninfo.html):

# Minute   Hour Day of Month  Month   Day of Week  Command  
# (0-59)   (0-23)  (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)     
0,10,20,30,40,50  *   *    *    *   php /home/yourdomain/public_html/test.php 

我的test.php:

mail('[email protected]','time();',date('H:i:s',time())); 

这个邮件每十分钟一次。从那里你在test.php(或任何你想要的名字)中修补你的状态检查代码并将这些数据插入到数据库中。我没有足够的信息来提供计算时间的代码。你的数据结构是什么?你如何与你的数据库进行交互?