运行pm2作为crontab脚本的一部分

时间:2017-09-27 01:53:22

标签: node.js pm2

我有一个crontab命令设置如下

  

* / 2 * * * * cd dir&& dir / keepalive.ksh qa>> /var/log/test/keepalive.log

keepalive.sh脚本实际上使用' test'来调用启动脚本。执行以下脚本的参数

print "Start the following proccesses"
if [ ${ENV} == "qa" ]
then
    dir="my path"
    print "Start QA Server"
    pm2 start ${dir}/server.js -- app-env=qa db-env=qa
fi
exit

问题:pm2命令永远不会启动进程。我也尝试使用pm2的完整路径(/ usr / local / bin / pm2),但仍然没有运气。我可以看到print语句的输出,这意味着脚本按预期执行。

知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

我之前也遇到过类似的问题,结果我需要在pm2命令前加上指向我的节点可执行文件的确切路径,像这样

/usr/local/bin/node /usr/local/bin/pm2 start myapp.js

因此,您可以尝试

/path/to/node /usr/local/bin/pm2 start ${dir}/server.js -- app-env=qa db-env=qa

需要在终端中将/path/to/node替换为which node的输出。