我正在使用cpanel,我想创建一个每小时执行一个node.js脚本的cron作业。我通过选择每小时来设置它,并在命令框中放置cd node-bin && node check-up.js
,但一小时后它没有执行nodejs脚本。我究竟做错了什么?您是否必须指定结果的位置(使用>
)?它是不是从主目录运行命令?我在一个共享的托管服务器上,所以我认为它从主目录运行它,但谁知道......任何想法?
更新:
我将其设置为向我发送电子邮件结果,现在它说它无法找到命令node
(即使我可以从SSH运行它)。为什么呢?
答案 0 :(得分:0)
* * * * * env > /tmp/env.txt
并检查缺少哪个环境变量,因为crontab环境通常不同。答案 1 :(得分:0)
以下是运行cron作业的两个基本步骤:
How can you execute a Node.js script via a cron job?
首先,添加
#!/usr/local/bin/node
到node.js文件的开头,并给出运行权限 (
chmod 777 node.js
) (您还可以通过键入
来检查它是否正常./node.js
在终端) 如果这样可以,那么你应该在cron作业中指定脚本的完整路径,这就是全部! 另外,正如user3678068指出的那样,您应该指定输出文件的完整路径! 希望这有帮助!