
服务器用的 AWS 的 EC2,现在想实现一个功能就是用 crontab 定时执行 pm2 命令,安装 pm2 的时候用了 sudo
我将要执行的 pm2 命令写成 shell 脚本,直接用 crontab 执行 shell 脚本,但是在执行的时候提示pm2: command not found,直接执行这个 shell 脚本是没问题的
对 Linux 比较陌生,这个应该是执行 crontab 和我安装的 pm2 命令不是同一个用户? 这种应该怎么处理呢?
1 jasonyang9 2017 年 12 月 1 日 |
2 mentalkiller 2017 年 12 月 1 日 via iPhone pm2 命令需要绝对路径,如 /use/bin/pm2 xxx |
3 mentalkiller 2017 年 12 月 1 日 via iPhone use -> usr 错别字抱歉 |
4 imherer OP @mentalkiller 我试过绝对路径,因为我的 node 是用 nvm 安装的,报错:/usr/bin/env: node: No such file or directory |
5 surfire91 2017 年 12 月 1 日 你确定你命令的路径对吗 |
7 xiaoz 2017 年 12 月 1 日 via Android @imherer which pm2 找出路径 |
8 Cat73 2017 年 12 月 1 日 因为 cron 执行的时候是不带环境变量的,因此你需要自己设置一下 PATH,然后就可以正常使用平台的代码了 |
9 duskx 2017 年 12 月 2 日 via iPhone 前面加 source ~/.bash_profile |
10 daggerjames 2017 年 12 月 2 日 8 楼是表达 自己加 PATH |
11 daggerjames 2017 年 12 月 2 日 @daggerjames 标答 |
12 cy18 2017 年 12 月 2 日 via Android 我比较好奇 crontab 里面怎么 sudo ?不需要输密码? |