php - 使用 crontab 从 bash 脚本将 php 文件作为 www-data 执行

标签 php bash cron crontab

我正在尝试使用 crontab 在每晚的特定时间运行一个 php 文件,但是由于目录权限,php 需要作为 www-data 运行。要将其作为 www-data 运行,我正在使用 root crontab 并更改其中的用户,如下所示:

* 20 * * * sudo -u www-data/usr/bin/env TERM=xterm/path/to/dailyProc.sh

dailyProc如下

today=`date +"%d%m%y"`

year=`date +"%y"`

dm=`date +"%m%d"`

`tar -zxf /path/to/input/$today.tgz -C /path/to/output`

echo "starting data proc"

`/usr/bin/php5 -f /path/to/dataproc.php date=$dm year=$year`

echo "data proc done"

dailyProc.sh 中的所有其他命令都有效,但 php 不运行。 php 使用输出缓冲区并将其写入文件,从命令行调用它可以正常工作,但在通过 cron 调用时不起作用。

我也绝对可以使用 www-data 从命令行运行 dailyProc.sh

sudo -u www-data dailyProc.sh

一切都按预期进行。

有什么原因让我无法在 dailyProc.sh 中使用 crontab 运行这个 php 文件,而它的其他一切都正常?

最佳答案

Cron 也可以按用户运行。

crontab -u www-data -e

关于php - 使用 crontab 从 bash 脚本将 php 文件作为 www-data 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30438262/

相关文章:

php - CronJob 在午夜不工作,但如果我将它设置为每 5 分钟一次,它就会工作

linux - 用于在不同时间以不同时间间隔运行作业的 Cron 表达式

php - 为什么我的 mysql 查询运行缓慢?

php - 将 php 代码实现为 html 或仅使用 php 会更快吗?查看更多详情

bash - "CLS"等同于 BASH?

regex - 在 bash 中使用 SED 打印 RegEx 匹配项

python - 启动停止守护进程和 python

javascript - 使用 AJAX Codeigniter 调用 Php Controller 功能

javascript - JSON 解析与否?

linux - 如何使用参数在 Remote 之间复制文件