哈希空间

nginx日志按天切割

1. 编写一个 nginxlog.sh 的脚本,内容如下:

#!/bin/sh LOG_DIR=/var/log/nginx TODAY=$(date -d 'yesterday' +%Y-%m-%d) mv ${LOG_DIR}/access.log ${LOG_DIR}/access_${TODAY}.log mv ${LOG_DIR}/error.log ${LOG_DIR}/error_${TODAY}.log nginx -s reload

这里解释一下每一行的作用

  • LOG_DIR 是nginx 的日志目录,/var/log/nginx 是Ubuntu apt 安装nginx后默认的日志目录,里面会有 access.log 和error.log
  • TODAY 这里调用 系统的date 命令生成了类似 2024-01-28 这样的日期格式。
  • mv ${LOG_DIR}/access.log {LOG_DIR}/access_{TODAY}.log 这行是把当前的日志 access.og 进行了 重新命名
  • nginx -s reload 这个命令实现了 nginx 不停机重新加载配置,也会重新生成日志文件。

2. 配置crontab 定时任务

进入crontab 编辑

crontab -e

新增一条定时任务,在每天0点0分 执行

0 0 * * * /usr/share/nginx/nginxlog.sh >/tmp/nginxlog.log 2>&1  

这里 nginxlog.sh 文件保存在 /usr/share/nginx/ 目录下,根据自己的需要进行修改。

本文 最佳观看地址:https://www.hashspace.cn/nginx-log-day.html 阅读 631

打开 哈希空间 微信小程序中查看更佳