gpt4 book ai didi

php - 在 Crontab 中使用相对路径

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:29 25 4
gpt4 key购买 nike

我试图在 CentOS 6.4 上的 crontab 文件中使用相对路径,这样我就不必一遍又一遍地重复相同的绝对路径。在我的 crontab 文件的顶部,位于:/etc/crontab,我有:

SHELL=/bin/bash
PATH=/var/www/html/crons
MAILTO=""
HOME=/

我的每条命令都是这样的:

*/2 * * * * root /usr/bin/php "cronfile.php" >> "logs/cronfile_"`date +\%Y\%m\%d`".log"

我期望它会运行 /var/www/html/crons 目录中的 cronfile.php PHP 文件,并保存输出到 /var/www/html/crons/logs/cronfile.log。但是,该文件没有运行,也没有创建日志文件。

如果我只运行命令就可以正常工作:

/usr/bin/php "cronfile.php" >> "logs/cronfile_"`date +\%Y\%m\%d`".log"

cd 进入 /var/www/html/crons 目录后从命令行。

请指教,谢谢。

最佳答案

经过多次试验和研究,我发现解决方案是使用 HOME= 变量,而不是 PATH= 变量,如下所示:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/var/www/html/crons

然后每一行看起来像:

*/2 * * * * root /usr/bin/php cronfile.php >> logs/cronfile_`date +\%Y\%m\%d`.log

希望这可以帮助其他人解决我将来遇到的同样问题。

关于php - 在 Crontab 中使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420945/

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