Php 正常运行时间监视器
我正在尝试创建一个系统来使用PHP监控Minecraft服务器。然后,它将定期(每10分钟)检查服务器的状态。如果服务器无法访问,它将等待停机时间,然后将其存储在数据库中Php 正常运行时间监视器,php,pdo,monitor,minecraft,Php,Pdo,Monitor,Minecraft,我正在尝试创建一个系统来使用PHP监控Minecraft服务器。然后,它将定期(每10分钟)检查服务器的状态。如果服务器无法访问,它将等待停机时间,然后将其存储在数据库中 我已经创建了检查服务器状态的代码,但是我正在努力确定服务器关闭的时间。我可以用什么方法计算停机时间?您可以将上次的运行时间更新到数据库中,并用它计算停机时间,每次计算时都覆盖停机时间您无法计算停机时间,我建议当发生停机时,您每一分钟都要检查一次,直到正常运行时间,获得第一次停机时间和下一次正常运行时间的差异,这将为您提供一分钟
我已经创建了检查服务器状态的代码,但是我正在努力确定服务器关闭的时间。我可以用什么方法计算停机时间?您可以将上次的运行时间更新到数据库中,并用它计算停机时间,每次计算时都覆盖停机时间您无法计算停机时间,我建议当发生停机时,您每一分钟都要检查一次,直到正常运行时间,获得第一次停机时间和下一次正常运行时间的差异,这将为您提供一分钟的停机时间。对于这种类型的任务,crontab是一个很好的工具:它是一个文件,可以在您设置命令时执行已定义的命令 您可以使用isp的名为cron jobs的cpanel工具。从那里创建cron作业非常容易。只需输入下面三行的命令部分 如果您不能使用此工具或更愿意直接写入crontab,则这些行是生成的命令(来自): my test.php:
mail('mail@internets.com','time();',date('H:i:s',time()));
每十分钟一次。从那个时起,您可以在test.php(或任何您想要的名称)中修补状态检查器代码,并将此数据插入数据库。我没有足够的信息来提供计算时间的代码。您的数据结构是什么?您如何与数据库交互?为什么不使用nagios或其他监控工具进行此操作?你可以用你的脚本作为插件,这个工具会关心统计数据/一切。你有什么样的心跳?HTTP、TCP、UDP、ICMP..因为我需要将这些信息公开显示给用户。我接受了这个想法,并对其进行了编码,使其正常工作。Thanks@MikeKormendy很抱歉回复太晚,但我已经创建了一个包含代码的要点。这不包含查询Minecraft服务器的实际代码。
mail('mail@internets.com','time();',date('H:i:s',time()));