我想每隔x分钟在Dreamhost上的共享服务器上运行一个节点脚本。我已经设置了一个cron作业来执行:
cd /home/path && node app.js
但这似乎并没有成功。我也尝试将相同的语句放入php中的shell_exec命令中,但脚本仍然没有(可能没有完全)执行。当我手动运行该命令时,一切正常。
我唯一能想到的是脚本需要大约15秒,这可能太长了?
对于任何寻找此答案的人:在dreamhost共享服务器上运行nodejs应用程序似乎受到限制(例如here,但也可以在dreamhosts支持页面上找到)
答案 0 :(得分:2)
脚本需要很长时间才不成问题。
如果你深入了解日志并发现错误是什么,我的赌注 - 这将是不言自明的。
与此同时,我怀疑原因是在没有的情况下使用完整路径调用node
。 Cronjob脚本没有配置PATH
,因此调用node
很可能会返回unknown command
。解决方案是:在终端which node
中写入以查看完整路径,然后使用它。
因此,您的cronjob脚本将类似于:
cd /home/path && /usr/local/bin/node app.js
授权节点位于/usr/local/bin
要查看cronjob运行命令中的错误:grep CRON /var/log/syslog