Igo*_*sky 1 cron crontab node.js
我有一个crontab条目,应该像这样执行node.js脚本:
*/5 * * * * node /home/campaigns/reporting/UNIT_TESTS/testCron.js > /home/campaigns/reporting/UNIT_TESTS/cron.log
但是,它不会执行,并且不会更新日志文件.当我手动运行脚本时,一切正常.有任何想法吗??
谢谢你,伊戈尔
Ale*_*kiy 16
我也有这个问题.似乎在我们的服务器上进行系统更新后,节点二进制文件的链接就消失了PATH.因此,在这种情况下,最好的解决方案始终不使用node script.js,但在我们的例子中是二进制的完整路径/usr/local/bin/node script.js.
我最近遇到了同样的问题,并且能够在以下博客文章的帮助下解决它.
基本上,将完整路径放在cron作业中的节点和文件中:
/usr/local/bin/node /var/www/coffee.js
http://www.themechanism.com/voice/2012/08/28/getting-node-js-and-cron-to-play-nicely/
尝试使用以下命令制作脚本:
script.sh:
#!/usr/bin/env sh
node /home/campaigns/reporting/UNIT_TESTS/testCron.js > /home/campaigns/reporting/UNIT_TESTS/cron.log
Run Code Online (Sandbox Code Playgroud)
然后将其添加到 cron:
*/5 * * * * /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)
确保使脚本可执行 ( chmod +x script.sh)
小智 5
我在Linux下使用的是nvm install node.js,貌似crontab不太清楚路径,所以写了node的全路径来执行node文件。
* * * * * /home/www/.nvm/versions/node/v8.11.1/bin/node /home/www/ss-config/index.js
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15287 次 |
| 最近记录: |