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

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

1.首先在输入命令echo $PATH 拿到当前系统环境变量
在这里插入图片描述

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

PATH=/root/.tnvm/versions/alinode/v3.8.4/bin:/root/.nvm/versions/node/v8.9.0/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'

3.pm2 reloadLogs设置定时任务

输入crontab -e命令编辑

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

发布了45 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38407447/article/details/84426193
今日推荐