Nginx日志分割,定时整理

实际应用: shell+定时任务+nginx信号管理,完成日志按日期存储

分析思路:

  1. 凌晨00:00:01,把昨天的日志重命名,放在相应的目录下
  2. 再USR1信息号控制nginx重新生成新的日志文件

具体脚本:

#!/bin/bash
base_path='/usr/local/nginx/logs'
#日志保存的路径
log_path=$(date -d yesterday +"%Y%m")
 
day=$(date -d yesterday +"%d")
 
mkdir -p $base_path/$log_path
 
mv $base_path/access.log $base_path/$log_path/access_$day.log
 
#echo $base_path/$log_path/access_$day.log
 
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

可以把脚本保存到/usr/local/nginx/路径下,命名为 logjob.sh

定时任务

crontab -e

(每天0时1分(建议在02-04点之间,系统负载小))

01 00 * * * /usr/local/nginx/logjob.sh

日志分割后效果

posted @ 2020-02-04 16:39  cheney-yang  阅读(356)  评论(0编辑  收藏  举报