Crontab + Навсегда + node.js + NPM

Crontab + Навсегда + 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 будет выполняться бесконечно]

Теперь я хочу перезапустить, чтобы выполнить эти команды. Дело в том, что "forever start" не выполнится, если я не выполню "nvm use 0.12" в первую очередь.

Так:

.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, лучше всего обернуть ваш запуск в файл оболочки и выполнить его вместо этого. Это также упрощает корректировку, если вам это понадобится - например, если вы хотите перейти с Node 0.12 на 0.10 или что-то еще.

Кроме того, вы также можете установить версию по умолчанию в NVM, выполнив следующие действия:

nvm alias default v0.12

Связанный контент