按天分割 nginx 日志

内容纲要

编写如下的 shell 脚本

#!/bin/bash

# nginx 日志存放路径
NGINX_LOG_PATH="/data/logs/nginx"
# 获取昨天的日期
DATE=`date -d yesterday +%Y%m%d`

# 在日志目录下创建一个子目录,目录名是昨天的日期
mkdir $NGINX_LOG_PATH/$DATE
# 将所有的 log 文件移动到新建的子目录
mv $NGINX_LOG_PATH/*.log $NGINX_LOG_PATH/$DATE
# 重启 nginx 服务,关键点是 nginx.pid 文件的路径要正确
kill -USR1 `cat /data/nginx/logs/nginx.pid`

脚本命名为 cut_nginx_log.sh,保存到 /data/nginx/sbin,注意赋予执行权限

chmod a+x /data/nginx/sbin/cut_nginx_log.sh

用 corntab 调度脚本

corntab -e

# 输入以下配置
0 0 * * * /data/nginx/sbin/cut_nginx_log.sh

关于 kill 命令

kill -USR1

这个命令不太了解,在搜索引擎上搜索,居然没有一条匹配的,还疑惑了半天。
原来是搜索引擎会把关键字前的 - 视为"排除",所以所有的搜索结果都是包含 kill 关键字但不包含 USR1 关键字的

去掉前缀的 - 即可

按天分割 nginx 日志

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top
粤ICP备2020114259号 粤公网安备44030402004258