Cron
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 分鐘重新啟動一次,但事實並非如此。
所以事實證明 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
此文件的絕對路徑