Crontab + Für immer + node.js + NPM

Crontab + Für immer + node.js + NPM

Ich kann meine Crontab nicht zum Laufen bringen. Ich verwende Ubuntu 14.04x64

Also, das ist, was ich getan habe:

.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

[Ich lade Putty neu]

.nvm install 0.12
.npm install steam

[Jetzt gehe ich zu Filezilla und lade die Datei .js in das Stammverzeichnis hoch]

.nvm use 0.12
.node file.js

[Es führt die Datei.js erfolgreich aus, ich lade Putty neu]

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

[Die Datei file.js wird unendlich ausgeführt]

Jetzt möchte ich einen Neustart, um diese Befehle auszuführen. Das Problem ist, dass „forever start“ nicht ausgeführt wird, wenn ich nicht zuerst „nvm use 0.12“ ausführe.

Also:

.crontab -e

Nanometer

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

Strg + x gespeichert

Ergebnis: Es erfolgt kein Neustart.

Was mache ich falsch? Danke!

Antwort1

Habe die Lösung selbst gefunden.

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

Danke trotzdem! :)

Antwort2

Zunächst einmal verfügt Ihr Cron wahrscheinlich nicht über eine Standardumgebung und Sie müssen daher vollständige Pfade für Befehle und Dateien angeben.

Wie @MiPnamic sagt, ist es am besten, Ihren Start in eine Shell-Datei zu packen und diese stattdessen auszuführen. Das erleichtert auch die Anpassung, falls dies erforderlich sein sollte – beispielsweise, wenn Sie von Node 0.12 auf 0.10 oder etwas anderes wechseln möchten.

Darüber hinaus können Sie die Standardversion in NVM auch wie folgt festlegen:

nvm alias default v0.12

verwandte Informationen