服务器上的日志包括系统日志和服务日志每天都会产生n多log,好多人会自己写脚本来进行日志的切割、压缩等,而忽略了系统自带的服务--logrotate。

  简介

logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。它是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」。主流Linux发行版上都默认安装有logrotate包,这也是我选择用他的主要原因。

  使用

实际运行时,Logrotate会调用配置文件「/etc/logrotate.conf」:

也可以在「/etc/logrotate.d」目录里放置自己的配置文件,用来覆盖Logrotate的缺省值。

下面是一个切割rabbitmq日志的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
/var/log/rabbitmq/*.log {
        weekly
        missingok
        rotate 20
        compress
        delaycompress
        notifempty
        dateext
        copytruncat
        sharedscripts      
        postrotate
            /etc/init.d/rabbitmq-server rotate-logs > /dev/null
        endscript

logrotate参数说明:

  1. daily — 每日旋转日志文件。
    weekly — 每周旋转日志文件。
    monthly — 每月旋转日志文件。

  2. compress — 用gzip压缩旋转的日志文件。

  3. size size — 在日志文件达到一定大小时开始旋转。大小是以bytes (默认), kilobytes (sizek)或megabytes (sizem)计算。

  4. nocompress — 在不需要压缩旋转日志文件的情况下使用。

  5. delaycompress — 在使用压缩选择时,旋转文件不会在下一个循环开始时被压缩。

  6. copytruncate — 用于还在打开中的日志文件,把当前日志备份并截。复制当前的日志文件,并置空当前文件。

  7. nocopytruncate — 把日志文件复制进备份,但该开放文件不会被裁剪。

  8. dateext - 用时间格式表示日志,轮换的日志后缀为-YYYYMMDD格式

  9. rotate count — 在删除前旋转文件的特定次数。如果计数为零,就意味着没有副本保留。而5则意味着保留5个副本。

  10. create mode owner group — 旋转日志文件并创建允许特定组合用户的新文件。缺省是使用与原始文件一样的模式,组合用户。

  11. missiongok - 如果文件找不到的话不会报错,直接跳过

  12. nocreate — 可以防止产生新日志文件。

  13. nodelaycompress –    日志文件会在循环过程中被压缩。

  14. errors address — 将logrotate错误邮件发送到某个地址。

  15. ifempty — 即使在空文件时也要旋转。这是Logrotate的缺省项。

  16. notifempty — 空文件不旋转。

  17. mail address — 这个邮件日志文件是循环到一个地址,因此能有效从系统中清楚。

  18. nomail - 在邮件日志循环时,副本不邮寄。

  19. olddir directory — 这个选项会将循环日志文件保持在特定目录。该目录必需与现有日志文件在同一文件系统。

  20. noolddir — 循环的日志文件与现有文件处于相同目录。

  21. prerotate/endscript - 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

  22. postrotate/endscript - 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

其他参数可自行通过man logrotate查看帮助。

本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1861431,如需转载请自行联系原作者

log日志轮转--logrotate相关推荐

  1. logrotate日志轮转策略

    2019独角兽企业重金招聘Python工程师标准>>> 实战:logrotate 日志轮转及配置 1,编写系统日志的配置文件 /etc/rsyslog.conf 2,写入配置 [ro ...

  2. linux:/var/log 日志多,如何处理?rsyslog,logrotate

    https://zhuanlan.zhihu.com/p/92804167 rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件 Linux的日志记录了用户在系统上 ...

  3. mysql慢查询日志轮转_MySQL slow log相关参数解释

    slow_query_log=1       #是否启用慢查询日志,1为启用,0为禁用 slow_query_log_file=slow.log       #指定慢查询日志文件的路径和名字,可使用绝 ...

  4. linux 日志工具 logrotate 简介

    Logrotate是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」: #!/bin/sh /usr/sbin/logrotate /etc/logrotate.c ...

  5. linux系统日志_第十二章:走进Linux世界——系统日志管理,日志轮转。

    1.关心问题:哪类程序---> 产生的什么日志----> 放到什么地方 2.处理日志的进程 (1) 第一类: rsyslogd: 系统专职日志程序. 处理绝大部分日志记录, 系统操作有关的 ...

  6. jstack 脚本 自动日志_运维老司机又翻车, 居然没用过日志切割Logrotate

    运维老司机又翻车, 居然没用过日志切割Logrotate 作为一个运维老司机, 这次又翻车了.只能说明一个原因, 就是菜, 所有才要多学习. 说起日志切割, 自己可以说是溜的一批.基本的套路就是在cr ...

  7. 【Nginx 日志配置】【访问日志log_format】【错误日志error_log 指令】【Nginx的日志轮转】

    文章目录 Nginx 日志配置 `log_format` 指令中常用的一些变量: 访问日志 案例 可以配置段:`http`, `stream`, `server`, `location`作用域. er ...

  8. Linux日志收集logrotate原理介绍

    前言 在Linux环境中能够帮助我们分析问题蛛丝马迹的有效办法之一便是日志,常见的如操作系统syslog日志/var/log/messages,应用程序Nginx日志/var/log/nginx/*. ...

  9. 基于Spring Boot的Logback日志轮转配置

    在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的.我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异.这里就结合Spring Boot配置一下L ...

最新文章

  1. 【玩转.Net MF – 03】远程文件查看器
  2. SEO中的DIV CSS样式的命名规则
  3. LEGv8指令集中分支和跳转的地址范围
  4. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象
  5. 《信息安全系统设计基础》 实验五
  6. 2018年云计算大调查:五成开发者月入过万 阿里云称霸公有云市场
  7. 【Pytorch】Pytorch的自动混合精度(AMP)
  8. 2016值得关注的5大IT趋势
  9. 蓝桥杯——输出米字形
  10. 网工界的TFBOYS——netmikotextfsmntc-templates快速入门
  11. 8.Nginx 例子
  12. Microsoft Visio 2010密钥
  13. github开源项目大集合
  14. php 两张图片合并,ps合并图层快捷键
  15. 如何对下拉菜单进行截图
  16. 中山LED芯片IC方案!JLC1041, JLK105系列两款超实用
  17. [区块链笔记1] 入坑区块链 智能合约solidity基础
  18. Deep Anomaly Detection with Deviation Networks论文阅读
  19. Android2.0 Release 1 Eclair API变化预览
  20. type接口和class的区别(类型和类)

热门文章

  1. 关闭浏览器 清空session_跨境网络小知识之Session
  2. python处理中文字符串_处理python字符串中的中文字符
  3. 通过修改注册表,实现网页链接中的私有协议启用本地exe进程
  4. kafka consumer配置拉取速度慢_Kafka消费者的使用和原理
  5. ubuntu14.04下安装qt4.8.6 +qt creator
  6. Linux C++ 回射服务器
  7. 转:C++中const、volatile、mutable的用法
  8. find command基本使用
  9. 从零实现一个http服务器
  10. Java面试10大知识点总结宝典助你通关!已拿意向书!