cron から nodeスクリプト をキックする方法について長らく嵌まっていたのでメモ。
とあるサーバで markdown-pdf
によるPDF生成を行いたくて、自前の nodeスクリプト を作成・運用していました。
ただし、そのサーバは一定期間ごとに再起動をかけているため、その度に自前の nodeスプリプト のプロセスが切れてしまいます。そこで cron で「再起動後に nodeスクリプト をキックする」ようなジョブを書いたのですが……。
@reboot root node /PATH/TO/NODE-SCRIPT/index.js &
30 2 * * 0 root reboot
しかし、上手く行きませんでした。
/var/log/cron
で確認すると、 cronジョブ 自体は実行されていそうなのですが、 ps aux | grep "node"
で確認すると、 node のプロセスはありません。起動できていないようです。
その原因が分からず悩まされていたのですが、ふと node のパスがおかしいのでは、と気付き以下のように修正。
@reboot root /usr/local/bin/node /PATH/TO/NODE-SCRIPT/index.js &
30 2 * * 0 root reboot
※ちなみにこのサーバは n
を使って node がインストールされています。
これで試験したところ、再起動後にスクリプトが起動・動作していることを確認できました。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント