禅与计算机程序设计艺术

Linux shell脚本按日期 切割pm2日志

2018-05-17  本文已影响2人  8239e604d437

linux shell脚本按日期 切割pm2日志 (解决定时任务pm2命令无法执行问题,原因:没有环境变量)

首先在输入命令echo $PATH 拿到当前系统环境变量

然后在/root/.pm2目录新建cutlog.sh文件(注意:第一句一定要有,设置当前shell脚本里面的环境变量,没有的话pm2命令会无法执行)

PATH=/root/.nvm/versions/node/v6.10.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

CURPATH=/root/.pm2

OUTPATH=/home/cutLogsDate

mkdir -p $OUTPATH

INPUTPATH=$CURPATH/logs

reloadProcessLogs(){

        logFilesGame="${INPUTPATH}/$1"

        yesterday=`date -d last-day '+%Y%m%d_'$2`

        logOfLastDay=$OUTPATH/$yesterday.log

        mv $logFilesGame $logOfLastDay

        touch $logFilesGame

        echo "切割$1成功"

}

reloadProcessLogs 'game-out-0.log' 'game_out'

pm2 reloadLogs设置定时任务

输入crontab -e命令编辑

0 3 * * * sh /root/.pm2/cutlog.sh

上一篇下一篇

猜你喜欢

热点阅读