当前位置:首页 > 技术文章 > 正文内容

Linux日志处理神器-Logrotate

arlanguage5个月前 (12-16)技术文章36

Logrotate简介

Logrotate是Linux中日志分割、压缩、清理的工具,一般CentOS默认都会安装该工具。

logrotate运行原理

logrotate依赖于anacron执行每小时、每天、每周或每月的定时任务,corn每个小时会扫描当前机器中定时任务执行状态。

logrotate运行依赖的文件:

  • /etc/cron.daily/logrotate ——logrotate具体执行命令脚步
  • /etc/logrotate.conf ——logrotate配置文件
  • /etc/anacrontab ——anacrontab配置文件
  • /var/lib/logrotate/logrotate.status ——记录清理日志状态的文件
  • /var/spool/anacron/cron.daily ——当前anacron已经执行的日期
  • /etc/logrotate.d/* ——自定义清理日志的配置文件,优先级高于logrotate.conf

自定义logrotate配置文件步骤和配置文件参数解读

  • 在/etc/logrotate.d/目录下新建文件,例如nginx
# Rotate nginx log
/nginx/logs/*.log {
    daily
    rotate 10
    missingok
    notifempty
    sharedscripts
    dateext
    size 10M
    postrotate
      kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`
    endscript
}
  • 示例配置文件参数解读,若有其他需要可以自行翻阅资料
  • /nginx/logs/*.log —— 需要清理的日志路径
  • daily ——清理的周期,可以选择的其他周期为weekly、monthly
  • rotate ——需要保留的日志文件的数量
  • missingok —— 忽略报错直接执行
  • notifempty —— 空文件不会执行日志清理
  • sharedscripts —— 当有多个日志文件清理时,只有最后一个日志清理执行脚本。否则每个日志清理完都会执行脚本
  • dateext ——使用日期作为后缀
  • postrotate ——日志执行完后需要执行的命令或者脚本
  • size ——当日志文件大于10M才执行日志清理

logrotate命令格式简介

logrotate [OPTION...] <configfile>

参数解释

  • -d,--debug模式 测试配置文件是否存在错误,不会具体执行配置文件中的任务
  • -f,--force 强制执行日志清理
  • -v,--verbose显示详细执行过程

调试nginx清理日志配置文件是否正确:logrotate -d /etc/logrotate.d/nginx

强制清理nginx日志:logrotate -f /etc/logrotate.d/nginx

显示详细清理过程:logrotate -v /etc/logrotate.d/nginx

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/219.html

分享给朋友:

“Linux日志处理神器-Logrotate” 的相关文章

推荐一款 Nginx 可视化配置神器

Nginx 是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。把 Nginx 下载下来,打开 conf 文件夹的 nginx.conf 文件,Nginx 服务器的基础配置和默认的配置都存放于此。配置是让程序员非常头疼的事,比如 Java 后端框架...

如何在本地部署WEB开发(PHP)环境

目前很多网站程序是基于PHP语言,比如比较有名的开源程序WordPress、Discuz、DedeCMS...对于大多初学者来说,本地部署WEB环境(PHP/ASP+Apache/Nginx+Mysql),一个一个安装调试是一件很麻烦的事。所以这次分享一下如何在本地快速搭建WEB环境!考虑到大家大多...

Nginx 的日志 nginx的日志能否保存到日志审计里面?

Nginx 的日志主要有 2 个,一个是 access.log, 一个是 error.log。如果你不进行任何配置的话,这 2 个日志将会使用默认的日志配置,这个日志将会位于/var/log/nginx 目录中。针对虚拟主机的配置如果你使用了 Nginx 为虚拟主机的话。那么你可以在你的虚拟主机的配...

NGINX最常用的指令(备用查询)

服务管理sudo systemctl status nginx # nginx当前状态 sudo systemctl reload nginx # 重新加载 nginx sudo systemctl restart nginx # 重启nginx sudo nginx -t # 检查语法 ng...

Nginx 500 内部服务器错误排查指南

关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。本文提供了解决 Nginx 500 Internal Server Error 的详尽教程,以及分步说明和故障排除建议。“500 Internal Server Error”消息对于网站所有者和 Web 开发人员来说当然是众所周知的。包括...

Vue3+Django4全新技术实战全栈项目(完结)

获课:itazs.fun/5739/### Vue 3 + Django 4 全新技术全栈项目在现代全栈开发中,Vue 3 和 Django 4 是非常受欢迎的技术组合。Vue 3 以其高效的响应式系统和组件化开发模式受到前端开发者的青睐,而 Django 4 则以其强大的 ORM 和安全性受到后端...