如何编写PHP cron脚本?

mor*_*rne 1 php cron

如果这是一个愚蠢的问题,我很抱歉,但实际上我不知道.

我编写了这个应用程序来压缩文件并将文件从客户端PC移动到主PC.
它可以很好地用作网页.这几乎没有指导,没有规范文档.
因为命运会有它,它应该是一个通过调用运行的cron作业

*****runScript.php

所以我不知道执行将会或应该以何种顺序执行.

我使用了2个AJAX调用来调用脚本中的方法,但是只是将脚本作为脚本运行就有点不同了.

有人可以指导我吗?

例如,是否存在将首先调用的MAIN方法.如果是这样,那么我可以从那里引导脚本.

更新

答案真的很有帮助,但是php文件怎么会受到影响?@Ole Haugset提到我应该调整它以便使用$_GETvars.例如,这已在脚本中完成if ($_GET["argument"]=='runScript'){}.

所以附加runScript到脚本调用应该可以正常工作?

例如 * * * * * php /path/to/file/runScript.php runScript

Ole*_*set 5

将PHP脚本作为cron作业运行没有问题.您需要做的是将文件系统中的完整路径提供给脚本文件,并使用该命令php告诉Linux运行该文件的程序.

例:

*/5 * * * * php /var/www/vhosts/statistikk/cron/getLastArticleFromIntranet.cron.php >> /var/www/vhosts/statistikk/cron/LOG.txt 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

此脚本将每隔5分钟运行一周中的所有日期.无论PHP脚本回显/打印出来,都将存储到LOG.txt文件中,以便我可以监视脚本事件.

尝试在shell中运行命令,然后将其放入cronjobs中以确保它正常工作.

但是,您说通常使用AJAX调用来调用此脚本.这不可能与cronjob有关.我假设你使用AJAX传递脚本需要的一些$ _POST元素.因此,您需要做的是调整脚本以允许$argv参数,并将它们添加到crontab作业,或者只是在运行之前创建一个不需要任何给定参数的脚本.

如果要调整脚本以支持$argv参数,请按照Stack Overflow上已有的关于向作业添加参数的答案:

如何在cron选项卡中运行带有参数的php url

编辑:

我想从下面的答案中添加我的答案.要在Linux中编辑crontab作业,只需使用该命令即可crontab -e.

这是需要填写的每个必需参数的描述.

*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of        month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)
Run Code Online (Sandbox Code Playgroud)