Linux 按日期分割 Nginx 的 Access 日志

 

一、基本思路

每天凌晨把当天的日志移动到历史日志目录,新的日志在原日志位置重新生成。

二、shell 脚本

#!/bin/bash
# 定时生成当天的日志文件
# 日志根目录
base_path="/opt/logs/nginx/"
# 月份目录 例:2020/09/
month_path=`date -d last-day +%Y/%m/`
# 目标目录 例:/opt/logs/nginx/2020/09/
aim_path=$base_path$month_path
# 判断目录目录是否存在,不存在则创建
if [ ! -d $aim_path ]; then
  mkdir -p $aim_path
fi
# 当前日志目录 /opt/logs/nginx/access.log
current_log=$base_path"access.log"
# 目录位置 例:/opt/logs/nginx/2020/09/access_20200831.log
aim_log=$aim_path"access_"`date -d last-day +%Y%m%d`".log"
# 移动日志文件
mv $current_log $aim_log
# 重新生成 /opt/logs/nginx/access.log
/usr/local/nginx/sbin/nginx -s reload

三、crontab 定时

# 后面只是脚本的位置
01 00 * * * /opt/shell/update_access_log.sh


在线文字排版

Linux 按日期分割 Nginx 的 Access 日志

上一篇:SwipeListView 具体解释 实现微信,QQ等滑动删除效果


下一篇:[今日干货]微信搜一搜的文章排名有什么规则