我对cron作业有基本的了解,但我现在需要更复杂的东西。我需要将大约100个表上传到MySql,每个表有大约500 MB的数据,然后在每个表上运行一些php cron作业,一个表接着另一个。我在下面详细解释:
请告诉我怎么做?我在Ubuntu 16.04上。
答案 0 :(得分:0)
创建一个脚本(例如bash)来完成你想要做的所有工作,包括上传表数据,运行php脚本,并根据需要重复。
示例bash文件(/home/spanky/stuffToDo.sh):
#!/bin/bash
# Simple bash script that does some work
php -f dowork1.php
php -f dowork2.php
php -f dowork3.php
设置你的cron作业以根据需要调用该脚本,如下所示:
10 * * * * /home/spanky/stuffToDo.sh
有关从bash脚本调用PHP函数的更多详细信息,请参阅this question的答案,特别是提到使用CLI PHP进行命令行使用PHP的答案。
有很多可靠的例子证明使用bash来处理这类事情。这是一个很好的起点:https://linuxconfig.org/bash-scripting-tutorial
注意:如果每个步骤绝对必须是一个cron作业,那么你必须相应地安排它们,理解它们可能会重叠,如果一个人迟到(或永远不会结束)。您可以进入更复杂的场景,其中一个依赖于完成前一个作业的cronjob将在继续之前检查状态标志或文件,但这很快就会变得混乱。