我有一个文件" update.php
",它执行一些MySQL操作.cron作业每5分钟执行一次该文件.不幸的是,我无法更频繁地执行cron作业.
所以我有想法,我可以添加......
...到页面" update.php
".cron会以页面自动刷新的方式执行文件吗?或者这不会发生,因为没有带浏览器的客户端?
如果元刷新没有效果,是否还有其他可能实现页面的刷新?
提前致谢!
我担心这不起作用,因为它是一个刷新页面的浏览器功能.
问题:为什么不能将cron作业设置为每5分钟更频繁地运行一次?
如果没有其他选项,那么您可以创建自己的守护进程来更频繁地完成工作.
例如,您的PHP脚本可以:
跑
等待60秒
跑
(等;跑;再跑两次)
出口
例如:(通过改变sshow的代码)
此版本的脚本将保持驻留四分钟,如果此脚本每5分钟由cron运行,则执行代码4次,这相当于每分钟运行一次.
关于cronjob是什么以及如何运行似乎有些混乱.
cron是一个守护进程,它位于后台,并按照crontab中指定的时间表通过shell运行任务.
每个用户都有一个crontab,还有一个系统crontab.
每个用户的crontab都可以指定以该用户身份运行的作业.
例如:
# run five minutes after midnight, every day 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # run at 2:15pm on the first of every month -- output mailed to paul 15 14 1 * * $HOME/bin/monthly # run at 10 pm on weekdays, annoy Joe 0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?% 23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday" 5 4 * * sun echo "run at 5 after 4 every sunday"
所以每五分钟运行一次:
*/5 * * * * echo "This will be run every five minutes"
或者每分钟运行一次:
* * * * * echo "This will be run every minute"
命令的输出通过电子邮件发送给crontab的所有者(或由MAILTO指定).这意味着如果你每分钟运行一次,它会每分钟给你发电子邮件,除非你确保所有正常输出被抑制或重定向.
这些命令以拥有crontab的用户身份运行,该用户与Web服务器运行的脚本形成对比,这些脚本作为"nobody"用户运行(或类似 - 无论Web服务器配置为以何种方式运行).如果cronjob正在写入应该由web服务器运行的脚本访问的文件,这会使生活变得更加复杂.基本上,您必须确保权限保持正确.
现在,我不确定这是你所指的系统.如果你的意思是其他东西,cronjob
那么上面的内容可能不适用.
如果你想做一些当前主持人不允许你这样做的事情,那么你可能会考虑转换托管服务提供商,而不是黑客攻击.
另一种方法是将脚本放在正常的脚本位置,并让一些外部调度程序以你喜欢的频率运行wget.
另一种选择是按需更新vartec建议的形式.但是,这可能无法解决您的问题.