0

.sh ファイルの実行に問題があります。アプリディレクトリ内で sudo ./starter.sh を介して実行できますが、再起動に依存しても機能しません。

Windows 7 で Ubuntu 12.04 VM を使用しています。Windows 上のファイルを VM と共有しているため、/mnt/hgfs/nodejs-test 経由でファイルにアクセスします。

ローカル VM を介して Nginx で node.js サーバーを実行しています。

現在、http: //node.dev にアクセスすると、nodejs-test (/mnt/hgfs/nodejs-test) にある server.js が適切に読み込まれ、hello world が画面に出力されます。

したがって、サイトを実行することは問題ではありません..しかし、再起動時に永遠に(forever.jsがグローバルにインストールされている)開始することは機能しません. SHファイルを実行できないだけだと思います。

これが私のstarter.shです

#!/bin/sh


if [ $(ps aux | grep $USER | grep node | grep -v grep | wc -l | tr -s "\n") -eq 0 ]

  then

  export PATH=/usr/local/bin:$PATH

  forever start --sourceDir /mnt/hgfs/nodejs-test/server.js >> /mnt/hgfs/nodejs-test/serverlog.txt 2>&1

fi

今、私は sudo crontab -e を試しました(そしてファイルへのパスを追加しました)だけでなく、 crontab -e だけで同じことをしました。再起動すると...何もありません。

@reboot /mnt/hgfs/nodejs-test/starter.sh

そのcronjobをこれに編集してみました

@reboot /var/www/nodejs-test/starter.sh

/var/www/nodejs-test に /mnt/hgfs/nodejs-test へのシンボリックリンクを作成したため

再起動時にエラーが発生するかどうかはどこで確認できますか? または、再起動 cron がまったく実行されていない可能性はありますか? ただし、starter.sh を実行しても機能することはわかっています。

編集/mnt/hgfs/nodejs-test は root が所有しています (私の Windows 7 OS にファイルが存在することを考えると、これは Windows のものかもしれません)。私のubuntuユーザーは、VMのインストール時に作成した「bkohlmeier」です。

編集#2

Nov 10 13:05:01 ubuntu cron[799]: (CRON) INFO (pidfile fd = 3)
Nov 10 13:05:01 ubuntu cron[875]: (CRON) STARTUP (fork ok)
Nov 10 13:05:01 ubuntu cron[875]: (CRON) INFO (Running @reboot jobs)
Nov 10 13:05:02 ubuntu CRON[887]: (bkohlmeier) CMD (/mnt/hgfs/nodejs-test/starter.sh)
Nov 10 13:05:02 ubuntu CRON[888]: (root) CMD (/var/www/nodejs-test/starter.sh >/dev/null2>&1)
Nov 10 13:05:02 ubuntu CRON[877]: (CRON) info (No MTA installed, discarding output)
Nov 10 13:05:02 ubuntu CRON[878]: (CRON) info (No MTA installed, discarding output)
4

1 に答える 1