我正在尝试自动化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
});
- 有关更多详细信息,请参阅此示例