2024-07-08
nginx
00
请注意,本文编写于 249 天前,最后修改于 106 天前,其中某些信息可能已经过时。

目录

Logrotate日志分割
<font color=red>创建目录</font>
配置文件
调试模式验证结果
成功标志
强制执行日志轮转
验证结果

Logrotate日志分割

logrotate是一个linux系统日志的管理工具。可以对单个日志文件或者某个目录下的文件按时间/大小进行切割,压缩操作;指定日志保存数量;还可以在切割之后运行自定义命令。

yum install -y logrotate

创建目录

mkdir -p /var/log/nginx/access_logs mkdir -p /var/log/nginx/error_logs

配置文件

vim /etc/logrotate.d/nginx
/var/log/nginx/*access.log { daily # 按天分割日志 dateext # 使用日期作为分割后的日志文件的后缀 dateformat -%Y-%m-%d # 指定日期格式为-YYYY-MM-DD missingok # 如果日志文件不存在,不报错继续处理下一个日志文件 rotate 14 # 保留14个旧的日志文件 compress # 对分割后的日志文件进行压缩 delaycompress # 延迟到下一个轮转周期压缩日志文件 notifempty # 如果日志文件为空,不进行分割 create 0640 nginx adm # 以0640的权限创建新的日志文件,并设置所有者和所属组为nginx和adm olddir /var/log/nginx/access_logs # 指定旧的日志文件存放位置 sharedscripts # 脚本只运行一次而不是每个日志文件运行一次 postrotate # 在日志分割后执行的脚本 [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript } /var/log/nginx/*error.log { daily # 按天分割日志 dateext # 使用日期作为分割后的日志文件的后缀 dateformat -%Y-%m-%d # 指定日期格式为-YYYY-MM-DD missingok # 如果日志文件不存在,不报错继续处理下一个日志文件 rotate 14 # 保留14个旧的日志文件 compress # 对分割后的日志文件进行压缩 delaycompress # 延迟到下一个轮转周期压缩日志文件 notifempty # 如果日志文件为空,不进行分割 create 0640 nginx adm # 以0640的权限创建新的日志文件,并设置所有者和所属组为nginx和adm olddir /var/log/nginx/error_logs # 指定旧的日志文件存放位置 sharedscripts # 脚本只运行一次而不是每个日志文件运行一次 postrotate # 在日志分割后执行的脚本 [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript }

调试模式验证结果

logrotate -d /etc/logrotate.d/nginx

成功标志

image.png

强制执行日志轮转

logrotate -f /etc/logrotate.d/nginx

验证结果

ls /var/log/nginx/access_logs ls /var/log/nginx/error_logs
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay