使用 cron 每 12 小时重新启动 pm2 应用程序

Restart pm2 app every 12h with cron

试过这个,但没用:

SHELL=/bin/bash
PATH=/usr/lib/node_modules/pm2/bin
* 0,12 * * * pm2 restart all

我做错了什么?

使用 crontab -e 编辑 cron 并添加以下内容:

0 */12 * * * /usr/bin/node /usr/bin/pm2 restart all

对于时间表,每 12 小时使用 0 */12 * * *,或者 0:00 和 12:00 具体使用 0 0,12 * * *。 (您的时间表 * 0,12 * * * 将在第 0 小时和第 12 小时的每一分钟触发,0:00、0:01、0:02...)

对于命令,如 fedorqui 所述,使用节点路径,后跟 pm2 路径和 pm2 选项。使用 which nodewhich pm2 获取节点和 pm2 的路径。

在多种重启策略中,PM2可以通过选项--cron-restart

重启基于cron格式的应用程序

每个午夜重启应用程序:

pm2 start app.js --cron-restart="0 0 * * *"

有关更多信息,请查看文档:

https://pm2.keymetrics.io/docs/usage/restart-strategies/#restart-at-cron-time

不要重新启动,(零停机时间)

每天 4:30 上午

重新加载 myApp
30 4 * * * /usr/local/bin/node /usr/local/bin/pm2 reload <myAppId> > /dev/null 2>&1

要检查节点和 pm2 的完整路径,请执行 which nodewhich pm2> /dev/null 2>&1 部分忽略标准输出和标准错误。