我正在尝试从npm install -g lungo-cli
内部运行节点模块(crontab
)。
我尝试过的是从crontab中调用节点二进制文件:
* * * * * lungo
没有运气。
然后我尝试了:
* * * * * /usr/local/bin/lungo
再次,没有运气。
所以最后我做了我认为是一种解决方法,直接使用shelljs从javascript文件中调用了节点模块。
Javascript:
const shell = require('shelljs')
shell.exec('lungo')
我什至尝试在本地运行它!
const lungo = require('lungo-cli/bin/lungo')
const shell = require('shelljs')
const shell.exec('lungo')
Crontab:
* * * * * /usr/local/bin/node $HOME/scripts/lungo.js
它是一样的,它不起作用,似乎crontab
在与我的zsh
shell完全不同的环境中运行,并且找不到OSX特定的二进制文件,例如{ {1}},cat
,rm
等。
我将Mac OSX 10.14.1(Mojave)和cd
用作外壳。
我该怎么做?我希望能够使用crontab调用我的node cli程序。
答案 0 :(得分:0)
我在Macbook中使用了Oh-my-zsh,所以我尝试了很多事情来使crontab任务运行,但是最后,我的解决方案是在命令运行前添加.zshrc。
*/30 * * * * . $HOME/.zshrc; node /path/for/my_script.js
此任务每30分钟运行一次,并使用.zshrc配置文件执行我的node命令。不要忘记在$ HOME变量前使用点。
顺便说一句,您可以运行附加到zsh环境的任何命令。