Erik Troan提供了一种优秀的工具logrotate,它实现了多种多样的日志管理策略,而且在我们举例的所有发行版本上都是标准应用。

logrotate的配置文件由一系列规范组成,它们说明了要管理的日志文件组。出现在日志文件规范之外的选项(诸如下面例子中的errors、rotate和weekly)适用于后面所有的规范,它们可以在特定日志文件的规范内被覆盖,也可以在文件的后面重新指定,修改默认值。

下面是一个有点儿故意人为的例子,它设定了几种不同的日志文件:

这一配置每周轮换一次/var/log/messages文件。它保持了这个文件的5个版本,并且在每次重置文件的时候通知syslogd。Samba的日志文件(这样的文件可能有好几个)也每周轮换一次,但不是移到一边后开始一个新的,而是复制以后截短。只有在轮换了所有的日志文件之后,才向守护进程Samba发HUP信号。

表10.2列出了logrotate.conf最有用的选项。

表10.2 logrotate的选项

选 项

含 义

compress

压缩日志文件的所有非当前版本

daily, weekly, monthly

以指定的时间安排来轮换日志文件

delaycompress

压缩除了当前和最近之外的所有其他版本

endscript

标记prerotate或者postrotate脚本结束

errors emailaddr

向指定的emailaddr发送出错通知邮件

missingok

如果日志不存在,不会发出抱怨

notifempty

如果日志为空,则不轮换它

olddir dir

指定要放入dir里的日志文件老版本

postrotate

引入在轮换过日志之后要运行的脚本

prerotate

引入在进行任何改动之前运行的脚本

rotate n

在轮换方案中包括n个版本的日志

sharedscripts

只为整个日志组运行一次的脚本

size=logsize

如果日志文件大于logsize(例如,100K,4M)才轮换

logrotate一般每天由cron运行一次。它的标准配置文件是/etc/logrotate.conf,但是在logrotate的命令行上一次可以出现多个配置文件(或者包含配置文件的目录)。这一特性被我们所举的发行版本充分利用,它们规定/etc/logrotate.d目录是保存logrotate配置文件的标准位置。懂得logrotate的软件包(这种软件有很多)能把执行日志管理指令作为它们安装过程的一部分,这大大地简化了管理工作。

除了logrotate之外,Debian和Ubuntu还提供了一种更简单的程序,它叫做savelog,能够管理单个文件的轮转工作。它比logrotate更直接,不用(或者不需要用)配置文件。有些软件包更愿意使用它们自己的savelog配置,而不用logrotate。

logrotate: 管理日志文件的更多相关文章

  1. linux之使用cron,logrotate管理日志文件

    1) logrotate配置   logrotate 程序是一个日志文件管理工具.用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”.   我们可以根据日志文件的大小,也可以根据其天数来 ...

  2. 如何在Centos 7上用Logrotate管理日志文件

    何为Logrotate? Logrotate是一个实用的日志管理工具,旨在简化对系统上生成大量的日志文件进行管理. Logrotate允许自动旋转压缩,删除和邮寄日志文件,从而节省宝贵的磁盘空间. L ...

  3. 在Linux下使用logrotate管理日志(转)

    原文地址:http://www.tuicool.com/articles/ieAnMjN logrotate是日志循环管理工具,可以分割日志文件,删除旧的日志文件,创建新的日志文件,循环管理日志从而节 ...

  4. 利用Linux自带的logrotate管理日志

    日常运维中,经常要对各类日志进行管理,清理,监控,尤其是因为应用bug,在1小时内就能写几十个G日志,导致磁盘爆满,系统挂掉. nohup.out,access.log,catalina.out 本文 ...

  5. Centos logrotate截断tomcat日志文件

    1. 设置logrotate轮转日志文件 tomcat日志目录:/usr/local/tomcat/apache-tomcat-8.5.34/logs /etc/logrotate.d/目录下创建to ...

  6. 别人的Linux私房菜(19)认识与分析日志文件

    日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...

  7. MS SQL 需要定期清理日志文件

    前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出 ...

  8. SCCM2007日志文件

    Microsoft System Center Configuration Manager 2007 中的所有客户端和站点服务器组件都将过程信息记录在单个日志文件中.您可以使用客户端和站点服务器日志文 ...

  9. 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...

随机推荐

  1. Eclipse 保存文件时自动格式化代码

    很多同学不知道Eclipse有个很有用的功能,就是自动格式源代码的功能,一般大家都是直接Ctrl+Shift+F手动格式化,多浪费时间. 其实Eclipse里已经带有自动格式化功能了,默认是没有代开该 ...

  2. 迷失第一季/全集Lost 1迅雷下载

    迷失 第一季 Lost Season 1 (2004)本季看点:影片主要讲述一架客机坠落在太平洋的孤岛上,48名乘客侥幸生还.面对这种荒芜人烟的小岛,他们如何才能生存下去呢?生还者形形色色,国籍.人种 ...

  3. SpringBoot 使用Swagger2打造在线接口文档(附汉化教程)

    原文地址: https://www.jianshu.com/p/7e543f0f0bd8 SpringBoot + Swagger2 UI界面-汉化教程 1.默认的英文界面UI 想必很多小伙伴都曾经使 ...

  4. 奇怪吸引子---DequanLi

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  5. linux下使用ack进行代码搜索

    1.安装 wget http://beyondgrep.com/ack-2.12-single-file sudo mv ack-2.12-single-file /usr/bin/ack sudo ...

  6. [PowerShell Utils] Automatically Change DNS and then Join Domain

    I would like to start a series of blog posts sharing PowerShell scripts to speed up our solution ope ...

  7. 遮罩层中的相对定位与绝对定位(Ajax)

    前提:公司最近做的一个项目列表,然后点击项目,出现背景遮罩层,弹出的数据框需要异步加载数据数据,让这个数据框居中,搞了两天终于总算达到Boss满意的程度,做了半年C/S,反过来做B/S,顿时感到技术还 ...

  8. Palindrome Partitioning leetcode java

    题目: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...

  9. AppWidgetProvider 桌面插件 Widget 广播 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. Impala 数值函数大全(转载)

    官网:https://www.cloudera.com/documentation/enterprise/latest/topics/impala_math_functions.html 转载链接1: ...