PHP一次和多个时间间隔Ping多个IP

时间:2012-03-04 15:37:02

标签: php mysql

我有一个包含主机和端口的数据库,我想知道是否有一种严格的PHP方法,一次ping所有这些并每30分钟记录一次。

编辑:忘记添加..我是初学者

2 个答案:

答案 0 :(得分:3)

您可以使用像cron这样的任务调度程序,但如果您真的想在脚本本身内以指定的间隔重复任务,则可以将循环与sleep()usleep()结合使用:< / p>

while (true) {

/*
  Perform pings here and write output to some file
  If the functions write directly to stdout, you can use
  ob_start() and ob_get_clean() to catch the output
  and write it to a log file instead.
*/

sleep(1800); // 30 minutes in seconds
}

使用此方法,您应该在php.ini或set_time_limit(0)中禁用PHP的时间限制设置。

答案 1 :(得分:2)

听起来你已经有了一个现有的脚本来执行你需要的功能。我建议修改此脚本(如果需要)从命令行而不是作为网页运行。即,不要依赖$ _GET或$ _POST之类的东西。运行一次检查,记录结果,然后退出。然后只需添加一个cron作业,每30分钟运行一次脚本。