哈希空间
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