Перезапускайте приложение pm2 каждые 12 часов с помощью cron.

Пробовал это, но это не работает:

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

Что я делаю не так?


person Nitor    schedule 29.05.2016    source источник
comment
Вы удаляете другие пути из $PATH. Вместо этого скажите PATH=$PATH:/usr/lib/node_modules/pm2/bin. Кроме того, вам нужно указать путь node перед pm2 --› */5 * * * * /root/.nvm/v0.11.9/bin/node /root/.nvm/v0.11.9/bin/pm2 restart all   -  person fedorqui 'SO stop harming'    schedule 30.05.2016


Ответы (2)


Отредактируйте cron с помощью crontab -e и добавьте следующее:

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

Для расписания используйте 0 */12 * * * для каждых 12 часов или 0 0,12 * * * для 0:00 и 12:00 конкретно. (Ваше расписание * 0,12 * * * будет срабатывать каждую минуту 0-го и 12-го часов, 0:00, 0:01, 0:02...)

Для команды, как упоминал fedorqui, используйте путь к узлу, за которым следует путь к pm2 и параметры pm2. Используйте which node и which pm2, чтобы получить путь к узлу и pm2.

person shawncampbell    schedule 31.03.2017

Среди нескольких стратегий перезапуска PM2 может перезапустить приложение на основе формата cron с помощью параметра --cron-restart.

Перезапускайте приложение каждую полночь:

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

Для получения дополнительной информации ознакомьтесь с документом:

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

person Unitech    schedule 26.06.2021