node.jsスクリプトを実行するためにcronジョブの正しいパスを設定するにはどうすればよいですか?

node.jsスクリプトを実行するためにcronジョブの正しいパスを設定するにはどうすればよいですか?

スケジュールに従って実行するようにNode.jsファイルを自動化しようとしています。しかし、私はそれを動作させることはできません。

私はそれを使用していますユーザー。

ログインからファイルの場所までのパスは次のとおりです。 nodejs_projects/amazon_search_v2

以下は、ログインした場所のpwd出力​​です。

root@project:~# pwd
/root

これは私が追加したいスクリプトです予約されたこと:

0 4,12,20 * * * node nodejs_projects/amazon_search_v2/searchItemsApi.js  >/dev/null 2>&1

私がここで何を見逃しているのでしょうか?

答え1

これは私にとって効果的です。

* 0,8,16 * * * cd ~/nodejs_projects/amazon_search_v2/ && /usr/bin/node searchItemsApi.js >/dev/null 2>&1

ここで説明されているように: 協会

Curtis Shawの答えから。which nodeノードの実行パスを見つけてcdフォルダに移動し、相対パスの問題を回避するために使用されます。

答え2

フルパスが必要だと思います。私はこれをこのように実行しようとします。

/root/nodejs_projects/amazon_search_v2/searchItemsApi.js

nodeフルパスも指定する必要があります。

答え3

Ubuntuを使用している場合は、ノードパスと実行するスクリプトパスを次のように指定します。

* 0,8,16 * * * /bin/node /path/to/script/to/execute.js

それはすべてです。

関連情報