Crontab + Forever + node.js + NPM

Crontab + Forever + node.js + NPM

我无法让 crontab 运行。我使用的是 Ubuntu 14.04x64

所以,这就是我所做的:

.root
.pw
.sudo apt-get update
.sudo apt-get install nodejs
.sudo apt-get install npm
.curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash

[我重新加载了Putty]

.nvm install 0.12
.npm install steam

[现在我进入 filezilla,将 file.js 上传到根目录]

.nvm use 0.12
.node file.js

[它成功执行了 file.js,我重新加载了 Putty]

.nvm use 0.12
.npm install forever -g
.forever start file.js

[它将无限地执行file.js]

现在我想重新启动以执行这些命令。问题是,如果我不首先执行“nvm use 0.12”,则“forever start”将不会执行。

所以:

.crontab -e

纳米

.*/5 * * * * nvm use 0.12 && forever restart file.js

ctrl + x 已保存

结果:它没有重新启动。

我做错了什么?谢谢!

答案1

我自己找到了解决方案。

0 * * * * root/.nvm/v0.12.4/bin/node /usr/local/bin/forever restart file.js

不管怎么说,还是要谢谢你! :)

答案2

首先,您的 cron 可能没有默认环境,因此您需要为命令和文件指定完整路径。

正如@MiPnamic 所说,最好将您的启动包装到 shell 文件中并执行该文件。这也使得在需要时更容易进行调整 - 例如,如果您想从 Node 0.12 更改为 0.10 或其他版本。

此外,您还可以通过执行以下操作在 NVM 中设置默认版本:

nvm alias default v0.12

相关内容