cron 未重新启动 pm2

cron 未重新启动 pm2

我尝试了很多方法,但 cron 就是无法重启 pm2。我设置了crontab -e

SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin

*/10 * * * *  /usr/bin/node /usr/bin/pm2 restart all

然后输入:

cat /var/log/cron.log

上面写着:

Apr  2 01:00:01 fatsecret CRON[8202]: (peteblank) CMD (/usr/bin/node /usr/bin/pm2 restart all)
Apr  2 01:00:01 fatsecret CRON[8201]: (peteblank) MAIL (mailed 78 bytes of output but got status 0x004b from MTA#012)
Apr  2 01:10:01 fatsecret CRON[8454]: (peteblank) CMD (/usr/bin/node /usr/bin/pm2 restart all)
Apr  2 01:10:01 fatsecret CRON[8453]: (peteblank) MAIL (mailed 78 bytes of output but got status 0x004b from MTA#012)

因此它看起来好像每 10 分钟重启一次,但事实并非如此。

答案1

事实证明 pm2 有一个内置的 cron 功能。所以我运行了

pm2 restart 0 --cron "*/10 * * * *"

答案2

处理cron作业的最佳方式是创建如下特定脚本:

#!/bin/bash

. ~/.bashrc
/usr/bin/node /usr/bin/pm2 restart all

该脚本将加载运行所需的环境变量node 并在 cron 中运行脚本:

*/10 * * * *  /path/to/script

不要忘记更改~/.bashrc此文件的绝对路径

相关内容