架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 11|回复: 0

[Web] Linux 服务器基于 logrotate 切割 nginx 日志

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式
需求:使用 logrotate 每天切割 nginx 日志,并自动删除 60 天之前的日志,并将历史日志压缩归档处理。防止 nginx 单个日志文件过大导致磁盘空间耗尽或读取效率降低。

回顾:
【实战】Nginx 日志拆分和删除
https://www.itsvse.com/thread-9259-1-1.html

logrotate

在 Linux 环境中,logrotate 是一个非常实用的日志切割工具,用于自动化地管理和轮换日志文件,以避免单个日志文件过大导致磁盘空间耗尽或读取效率降低。一般 Linux 都已经自带 logrotate 工具。如果没有,可以通过如下命令安装:
参数如下:
Usage: logrotate [OPTION...] <configfile>
  -d, --debug               Don't do anything, just test and print debug messages
  -f, --force               Force file rotation
  -m, --mail=command        Command to send mail (instead of `/bin/mail')
  -s, --state=statefile     Path of state file
  -v, --verbose             Display messages during rotation
  -l, --log=logfile         Log file or 'syslog' to log to syslog
      --version             Display version information

Help options:
  -?, --help                Show this help message
      --usage               Display brief usage message

logrotate 配置

手动在 /etc/logrotate.d/ 目录下面创建 Nginx 的 logrotate 配置文件(/etc/logrotate.d/nginx),配置如下:
测试配置是否正确,命令如下:
强制执行一次,命令如下:
如下图:

QQ截图20251012185955.jpg

查看最近一次成功运行任务的时间,命令如下:
如下图:

QQ截图20251012191901.jpg

logrotate 执行时间

logrotate是基于crond服务来运行的,其 crond 服务的脚本是 /etc/cron.daily/logrotate,要想知道 logrotate 什么时候执行日志分割操作,需要关注 /etc/anacrontab 及 /var/lib/logrotate/logrotate.status 这两个文件。它是 anacron 的配置文件,用于在不规律开机的系统(比如笔记本、偶尔关机的服务器)上确保周期性任务(如日志轮转)即使错过时间也能补执行

参考:

超链接登录可见。
超链接登录可见。




上一篇:ASP.NET Core(三十二)依赖注入 KeyedServices 键服务
下一篇:香港数字(虚拟)银行简单介绍
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-10-12 23:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表