如何设置cron作业的正确路径来运行node.js脚本



我正在尝试自动化Node.js文件以按计划运行。但我无法让它发挥作用。

我正在使用root用户。

这是从登录到文件位置的路径:nodejs_projects/amazon_search_v2

以下是登录位置的pwd输出:

root@project:~# pwd
/root

这是我在crontab:中添加的脚本

0 4,12,20 * * * node nodejs_projects/amazon_search_v2/searchItemsApi.js  >/dev/null 2>&1

我在这里错过了什么?

这个对我有用:

* 0,8,16 * * * cd ~/nodejs_projects/amazon_search_v2/ && /usr/bin/node searchItemsApi.js >/dev/null 2>&1

如下所述:链接

在柯蒂斯肖的回答中。使用which node查找节点可执行路径,使用cd进入文件夹并防止相对路径问题。

  • 您必须像这样提供到节点/usr/local/bin/node的完整路径

0 4,12,20 * * * /usr/local/bin/node nodejs_projects/amazon_search_v2/searchItemsApi.js >/dev/null 2>&1

  • 更好的方法是使用节点cron
const cron = require('node-cron');

cron.schedule('0 4,12,20 * * *', function(){
// task goes here
});
  • 有关更多详细信息,请参阅此示例

最新更新