最近有个需求需要定时执行一些pm2命令,于是我就想到了将这些pm2命令写入一个.sh脚本,然后直接用crontab定时执行这个脚本就行了
一开始直接在sh脚本里写 pm2 xxx
,执行了下报pm2 command not found
于是which了一下pm2 然后在sh里写上了pm2的完整路径,同时也单独执行了下这个sh脚本是没问题的
但是放在crontab里执行就报/usr/bin/env: node: No such file or directory
服务器node是用nvm安装的,所有操作都是同一个用户
奇怪的是两台服务器,一台能成功执行,另一台不能成功执行,两台环境都是一样的 Linux这块知识比较薄弱,请教各位大神应该如何排查问题和解决
需要添加node的环境到shell脚本里去
@zhangshiqiu 嗯,谢谢,已经搞定了
@im-here 您好, 我可能也遇到了同样的问题,需要通过shell脚本执行pm2, 我直接在shell脚本里面使用pm2, 一直报[pm2] command not found, 意思是pm2下子命令找不到,pm2 -h就可以;卡了几个小时了求解
@lizaiqian 有点忘了怎么解决的。 好像是在pm2 命令前加上命令的路径,例如: /usr/local/bin/pm2 xxx ,好像是这样,时间有点长了,忘了
好的, 已经用pm2的配置文件解决了,谢谢啦