网站首页 > 技术教程 正文
在运维工作中,Nginx的访问日志是我们了解服务器状态、分析用户行为的重要依据。然而,随着时间的推移,日志文件会不断增长,这不仅占用了大量的磁盘空间,还给日志分析和管理带来了诸多不便。因此,定期切割和归档Nginx的访问日志成为了一项必要的工作。
下面,我将为大家介绍一个简单实用的Bash脚本,它能够帮助你轻松实现Nginx访问日志的按天切割和归档。
脚本内容:
#!/bin/bash
# 定义日志存放目录
LOG_DIR=/usr/local/nginx/logs
# 获取昨天的日期
YESTERDAY_TIME=$(date -d "yesterday" +%F)
# 定义按月归档的日志目录格式
LOG_MONTH_DIR=$LOG_DIR/$(date +"%Y-%m")
# 定义需要切割的日志文件列表
LOG_FILE_LIST="default.access.log"
# 循环处理每一个日志文件
for LOG_FILE in $LOG_FILE_LIST; do
# 如果按月归档的日志目录不存在,则创建它
[ ! -d $LOG_MONTH_DIR ] && mkdir -p $LOG_MONTH_DIR
# 将日志文件移动到按月归档的目录中,并在文件名后添加昨天的日期
mv $LOG_DIR/$LOG_FILE $LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME}
done
# 发送USR1信号给Nginx主进程,使其重新打开日志文件
kill -USR1 $(cat /var/run/nginx.pid)
使用方法:
- 将上述脚本保存为一个文件,例如log_rotate.sh。
- 赋予脚本执行权限:chmod +x log_rotate.sh。
- 通过cron定时任务每天执行该脚本,例如:0 0 * * * /path/to/log_rotate.sh(每天凌晨0点执行)。
注意事项:
- 请确保脚本中的LOG_DIR和/var/run/nginx.pid路径与你的Nginx配置一致。
- 如果你的Nginx配置中使用了多个access_log,请在LOG_FILE_LIST中添加相应的日志文件名,多个文件名之间用空格分隔。
- 该脚本使用了date命令的-d选项来获取昨天的日期,这在某些操作系统上可能不可用。如果遇到问题,请根据你的操作系统调整日期获取方式。
- 脚本执行完毕后,Nginx会自动重新打开新的日志文件进行写入,而旧的日志文件则被归档到指定目录。你可以根据需要调整归档目录的结构和命名规则。
猜你喜欢
- 2024-10-10 通过什么方式来读取和监控nginx的日志呢
- 2024-10-10 linux运维之nginx日志之 log_format详解
- 2024-10-10 Nginx 日志自动切割(Centos6.8)(nginx日志切割配置)
- 2024-10-10 nginx - linux上日志分割(nginx日志级别顺序)
- 2024-10-10 练习Nginx定时备份日志及正则配置
- 2024-10-10 nginx启动时报错的日志 端口查看(nginx启动日志在哪儿)
- 2024-09-16 Nginx奇技淫巧之:按日期自动生成日志文件
- 2024-09-16 nginx的日志切割(nginx的日志切割脚本)
- 2024-09-16 ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
- 2024-09-16 nginx 部署的项目查看错误日志并处理
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)