Cron

cron 沒有重新啟動 pm2

  • April 3, 2021

我已經嘗試了很多東西,但 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 分鐘重新啟動一次,但事實並非如此。

所以事實證明 pm2 有一個內置的 cron 功能。所以我跑了

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

處理cron作業的最佳方法是創建如下特定腳本:

#!/bin/bash

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

node 此腳本將載入在 cron中執行和執行腳本所需的環境變數:

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

不要忘記更改~/.bashrc此文件的絕對路徑

引用自:https://serverfault.com/questions/1059131