gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 20:38:02 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com