0%

[Node.js] 在 crontab 中使用 pm2

前言

最近在使用 crontab 執行 pm2 時,發現會無法成功運行,但是手動執行 script 又可以成功,這裡紀錄一下解決方式。

解決方式

解決方式是將 Node 的路徑加到 crontab PATH 中:

1
2
3
4
5
6
SHELL=/bin/bash
PATH=.:/home/<user>/bin:/bin:/sbin:/usr/bin:/usr/sbin:/home/<user>/.nvm/versions/node/<node_version>/bin
HOME=/home/<user>
MAILTO=""

@reboot pm2 start -n app $HOME/app/app.js

範例中,我們設定 crontab 在 reboot 後執行 pm2 來啟動 application, 將 Node 路徑(/home/<user>/.nvm/versions/node/<node_version>/bin)加入至PATH,接著重啟機器就可以看到 application 成功被啟動囉!

參考資料