我想创建一个系统来监视使用PHP的Minecraft服务器。然后它会定期(每10分钟)检查一次服务器的状态。如果服务器无法访问,它将花费多长时间,然后将其存储在数据库中。正常运行时间监视器PHP
我已经创建了用于检查服务器状态的代码,但是在服务器关闭多久的时间中挣扎。我可以通过什么方式来确定停机时间?
我想创建一个系统来监视使用PHP的Minecraft服务器。然后它会定期(每10分钟)检查一次服务器的状态。如果服务器无法访问,它将花费多长时间,然后将其存储在数据库中。正常运行时间监视器PHP
我已经创建了用于检查服务器状态的代码,但是在服务器关闭多久的时间中挣扎。我可以通过什么方式来确定停机时间?
你不能计算的停机时间,我建议,当一个停机时间发生,你检查一遍在每一分钟直到正常运行时间,并获得第一次停机时间和下一次正常运行时间的差异时,这会给您一分钟的准确性造成的停机时间
可以更新到数据库的最后up-time
,并用它计算停机时间和每次覆盖的停机时间,你计算它
对于这种类型的任务,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(或任何你想要的名字)中修补你的状态检查代码并将这些数据插入到数据库中。我没有足够的信息来提供计算时间的代码。你的数据结构是什么?你如何与你的数据库进行交互?
为什么不使用nagios或其他监控工具呢?你可以使用你的脚本作为插件,并且该工具将关心统计/一切。 –
你有什么样的心跳? HTTP,TCP,UDP,ICMP .. – DanFromGermany
因为我需要将这些信息公开显示给用户。 – Brodie