首先,您需要用 PHP 编写一个脚本来执行您想做的事情(基本上,它只是您想要在预定时间运行的 PHP 代码,不需要添加)。
然后,使用cron 作业,您可以根据需要安排其运行频率。
*/4 * * * * wget --spider file.php
在 crontab 中每 4 分钟运行一次。您可能想阅读一些crontab 教程。
这是来自以下链接之一的图片,描述了如何安排您想要的时间:
Cronjobs 基本上是每隔一段时间运行一次的时间表。它们真的很有用,我一直在 Linux 上使用它们。
上面的链接对于解释每 x 分钟执行一次脚本需要输入哪些数字非常有用,但是您可能需要谷歌“Cronjob 计算器”来自动为您计算正确的数字(我有时自己这样做)。
在安装了 crontab 的 linux 中,键入crontab -l以查看所有 cronjobs 的列表。键入crontab -e以编辑当前用户的 cronjob 列表。这是你粘贴我上面给你的代码的地方。
编辑:要了解基本的 cronjobs,首先安装 crontab。然后,使用上面的代码执行写入文件的脚本。然后,只需tail -f那个文件,并观察它是如何(在 cronjob 启动后四分钟内)在你眼前更新的。
从基础开始。然后让它执行你的 MySQL 脚本。
有用的链接:
http://www.linuxweblog.com/crotab-tutorial
http://clickmojo.com/code/cron-tutorial.html(这看起来不错)
http://www.tutorial5.com/content/view/95/51 /
http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/(分钟/天解释)
注意:你不能少于一分钟。最后一个链接建议了一个sleep()
命令来解决这个问题,所以检查一下。
OP 的问题在于,由于他使用非常受限的共享主机,他无法访问 SSH、cPanel、cronjobs 或其他类似的东西。
这里的一个选项是分离一个单独的过程来使用exec()
, 或shell_exec()
, 最后带有 nohup
和符号 (&) 来获取 PHP 文件,以及sleep()
OP 想要的天数的很长一段时间。这将导致 PHP 脚本在服务器的后台运行。
上述示例需要采取安全措施,即:如果服务器重新启动,则脚本将不再运行,必须重新启动。相反,如果用户在错误的时间意外点击了脚本(或其他人这样做),则会产生多个进程,因此可能会发生检查进程是否已经运行的安全措施(或者基本的密码输入要求可能会有所帮助以免意外击中)。