使用 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 node
和 which 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 node
和 which pm2
。 > /dev/null 2>&1
部分忽略标准输出和标准错误。
试过这个,但没用:
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 node
和 which pm2
获取节点和 pm2 的路径。
在多种重启策略中,PM2可以通过选项--cron-restart
每个午夜重启应用程序:
pm2 start app.js --cron-restart="0 0 * * *"
有关更多信息,请查看文档:
https://pm2.keymetrics.io/docs/usage/restart-strategies/#restart-at-cron-time
不要重新启动,
每天 4:30 上午
重新加载 myApp30 4 * * * /usr/local/bin/node /usr/local/bin/pm2 reload <myAppId> > /dev/null 2>&1
要检查节点和 pm2 的完整路径,请执行 which node
和 which pm2
。 > /dev/null 2>&1
部分忽略标准输出和标准错误。