微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell 脚本文件pm2:在 crontab 任务中找不到命令

如何解决shell 脚本文件pm2:在 crontab 任务中找不到命令

我的 shell 脚本

#!/bin/bash    
pm2 start server.js 

我的 crontab 任务

* * * * * /home/ec2-user/abcd/test.sh > /home/ec2-user/cron.log 2>&1

我从日志中得到的:

home/ec2-user/abcd/test.sh: line 2: pm2: command not found

如何解决

备注:

1.当我执行./test.sh时,运行正常

2.which pm2 - 显示

~/.nvm/versions/node/v14.16.1/bin/pm2

解决方法

问题可能是因为在执行 cron 作业时尚未设置 PATH 环境变量,这就是您的 shell 脚本找不到 pm2 的原因。您必须输入 pm2 的完整地址。

如果 pm2/usr/bin/ 中的示例:

#!/bin/bash
/usr/bin/pm2 start server.js

或者您可能只想在要在 shell 脚本中执行的命令之前设置 PATH env。

正常情况下,当您在终端中执行程序时,环境变量设置正确。这就是为什么您可以毫无问题地在终端中运行 shell 脚本的原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。