将 PHP cron 作业包装在 Bourne Shell 脚本 (.sh) 中有什么好处?


What is the benefit of wrapping a PHP cron job inside a Bourne Shell Script (.sh)?

我遇到了一个在工作中创建新的 PHP cron 的清单,其中一个方向是:

添加一个包装器文件,该文件将作业代码的主要部分调用为 cron_[姓名].sh

示例 cron.sh:

#!/bin/sh
###########################################################
# This job sends out the daily digest emails
###########################################################
. $DS_JOBS_DIR/cron_common.sh
cd $DS_JOBS_DIR/digests
$DS_PHP daily_digest.php

将 PHP cron 包装在 shell 脚本中有什么好处?

没有理由。

但是在那之后,你可以在shell脚本中执行多项操作 - 更多的php或其他任务。

但我的主要猜测是,如果你在"创建新 PHP cron 的清单"中找到它,那么它只是组织希望如何完成工作 - 由于上述因素,或者仅仅是他们的 IT 经理/服务器管理员更喜欢它的方式。

我能想到这样做的唯一原因是允许 PHP 脚本访问在 cron_common.sh 中设置的 shell 环境变量(即可能包含配置设置(。