【发布时间】:2011-12-23 19:36:39
【问题描述】:
我有一个触发一些 magento 操作的 php 脚本,我将其设置为以下 cron:
cd /home/dir/public_html; php -f file.php;
这会启动脚本,但是由于某种原因它没有完成执行,cron 以用户“user”身份运行,当我以 root 身份从终端运行命令时,它运行良好。但是,它使用的所有文件都归用户所有。我认为这是路径的问题,这就是为什么我将 CD 命令添加到它的前面,但事实并非如此。
我认为这可能是创建锁定文件的问题,我让它创建一个锁定文件,运行脚本,然后删除锁定文件以防止它运行(如果它已经运行)。锁定文件已生成但从未删除,我的知识是,如果它以用户“用户”的身份创建它,那么它也应该能够以该用户的身份删除它。
有什么想法吗?非常感谢。
【问题讨论】:
-
它可能在到达“删除锁定文件”部分之前就被炸毁了。我建议在各个阶段添加一些调试输出。 “做这个”、“做那个”、“尝试做某事”等等……
-
您可以通过终端命令行以“用户”身份创建/删除锁定文件吗?
-
我想您可能已经发现了问题,“用户”没有外壳访问权限。嗯,这是一个愚蠢的问题。