日志轮换如何与logrotate的

有没有想过logrotate的如何管理日志文件的这么好?让我们来了解一些细节。

Linux系统上的日志循环比您想象的要复杂得多。哪些日志文件被旋转、何时以及频率、旋转后的日志文件是否被压缩以及保留了多少日志文件的实例都取决于配置文件中的设置。

旋转日志文件有以下几个原因是很重要的。首先,你可能不希望旧的日志文件,吃了太多的磁盘空间。第二,当你需要分析日志数据,你可能不希望这些日志文件是非常大而笨重。而在去年,按日期整理日志文件,可能使得发现和分析变化相当容易一点(例如,上周的日志数据与本周的)。

logrotate工具使得日志轮换相当容易和自动。它把很多聪明的做法,以使用,但管理和如何修改这个过程的作品,你就需要能够窥视那如何控制日志文件旋转的文件。

什么是日志轮换?

日志循环是重命名当前日志文件(例如,auth.log成为auth.log.1)并为新日志条目设置新日志文件(例如,auth.log)的过程。根据要保留的文件的数量,我们可能会看到类似于logfile的文件。6成为日志文件。使用旧的日志文件。和日志文件。5成为日志文件。在创建新日志文件之前。旧的日志文件也可能被压缩,特别是当它们趋向于非常大的文件时。因此,您可能会看到logfile.1.gz而不是logile.1。

如何logrotate的作品

该日志轮播工具通常用于管理日志旋转的过程中,虽然logrotate的本身是通过cron运行。

要注意的重要文件:

  • / usr / sbin目录/ logrotate的 - 的logrotate的命令本身(可执行)
  • /etc/cron.daily/logrotate - 在shell脚本运行的logrotate每天的基础上(注意,这可能是/etc/cron.daily/logrotate.cron在某些系统上)
  • /etc/logrotate.conf中 - 日志循环配置文件

另一个重要的文件/etc/logrotate.d中,包含在该过程中,通过这条线在/etc/logrotate.conf中的文件:

包括/etc/logrotate.d中

正如你可以从下面的条目看,七代的系统日志文件被保留,大部分被压缩。

$ ls -l命令的/ var / log / syslog的* -rw-R ----- 1个系统日志ADM 14255 8月22日19:55在/ var / log / syslog的-RW-R ----- 1个系统日志ADM 74662 8月22日7点35 /var/log/syslog.1 -rw-R ----- 1个系统日志ADM 6924年08月21 7点35 /var/log/syslog.2.gz -rw-R ----- 1个系统日志ADM 3713年08月20 7点35 /var/log/syslog.3.gz -rw-R ----- 1个系统日志ADM 7272年08月19 7点35 /var/log/syslog.4.gz -rw-R----- 1个系统日志ADM 3815年08月18 7点35 /var/log/syslog.5.gz -rw-R ----- 1个系统日志ADM 6905年08月17 7点35 /var/log/syslog.6。GZ -rw-R ----- 1个系统日志ADM 3627年08月16 7时35 /var/log/syslog.7.gz

对于许多日志文件,只保留4代旧文件。要理解为何在默认情况下保留7个syslog文件,请查看/etc/logrotate.的这一节d / rsyslog文件。注意“rotate 7”规范。

根@椿象:/etc/logrotate.d#更rsyslog现在的/ var / log / syslog的{旋转7 <==每日missingok notifempty delaycompress压缩postrotate调用-的rc.d rsyslog现在旋转>的/ dev / null的endscript}

syslog文件规则还指定“delaycompress”,这意味着最新的文件不会被压缩,直到下一个旋转周期。

对于其他的一些日志文件,旋转规格有很大的不同。只有这三个日志文件的世代被保留。他们正在旋转的每周而不是每天。

/var/log/mail.info /var/log/mail.警告/var/log/mail.log /var/log/mail.log /var/log/daemon.log /var/log/ log/auth.log /var/log/user.log /var/log/lpr.log /var/log/cron.log /var/log/debug /var/log/messages{每4周轮换一次missingok notifempty compress delaycompress sharedscripts postrotate invoke-rc。d rsyslog旋转> /dev/null endscript}

对于wtmp文件和文件BTMP,旋转细节都包含在/etc/logrotate.conf中的文件。这些日志文件每月旋转,只有一个旧文件被保留。请注意,配置线下方也决定了旋转文件的权限和所有权。

#没有包拥有wtmp或btmp——我们将它们旋转到这里/var/log/wtmp {missingok monthly create 0664 root utmp rotate 1} /var/log/btmp {missingok monthly create 0660 root utmp rotate 1}

下面是这些设置的含义:

  • 每周:每周轮换一次日志。可用的选项有每日、每周、每月和每年
  • missingok:这是确定的,如果没有* .log文件被发现
  • rotate #:在删除旧日志文件之前保留指定数量的文件
  • 压缩:压缩(gzip的)日志文件
  • delaycompress:延迟压缩直到第二次,
  • compresscmd:一套命令用来压缩。默认为gzip的
  • uncompresscmd:设置命令用来解压缩。默认为gunzip解
  • notifempty:不要旋转空文件
  • 创建640根ADM:创建一组权限/所有者/组新的日志文件
  • postrotate:脚本运行后,转动完成
  • prerotate:脚本到日志旋转开始前运行
  • 大小:当文件大小达到特定限制时进行旋转
@stinkbug:/var/log# ls -l auth。log* -rw-r- 1 syslog adm 13629 Aug 22 17:55 auth.log -rw-r- 1 syslog adm 283548 Aug 21 07:35 auth.log。1 <==未压缩-rw-r- 1 syslog adm 11316 Aug 13 07:35 auth.log.2 gz -rw-r- 1 syslog adm 11591 Aug 7 06:43 auth.log.3.gz -rw-r- 1 syslog adm 14536 Jul 24 07:35 auth.log.4 gz

延迟压缩设置通常用于那些很快就会被使用的文件,因此将它们保留一天使用是有意义的。

该logrotate.conf文件指定大多数日志文件的轮换计划(默认为每周),该组分配,是否应该创建新的文件,是否在默认情况下,压缩等。

有在大多数Linux系统的/ var / log目录相当多的文件,但许多这些文件的默认情况下不旋转,而且很多都是在子目录中。带卫生间的简单的命令可以指望他们为你:

根@椿象:〜#查找/无功/日志型的F |厕所-l 172

在/etc/ cronc时创建的/var/lib/logrotate/status文件。每日/logrotate运行,显示最后一次旋转每个日志文件的日期和时间。

logrotate状态——版本2“/var/log/apt/term。日志“2017- 8-8-7 -6:44:11”/var/log/cups/error_log“2017- 8-8-19 -7:35:1”/var/log/ unatten升级/ unatten升级。日志“2017 - 8 - 7 - 6:44:11”/ var / log /地头。日志" 2017 - 8 - 23 7:0:0 " / var / log / dpkg。日志“2017 - 8 - 7 - 6:44:11”/ var / log / lightdm / seat0-greeter。日志" 2017 - 8 - 23 7:35:2 " / var / log / unattended-upgrades / unattended-upgrades-shutdown。日志“2017 - 7 - 15 - 7:0:0”/ var / log / auth。日志“2017 - 8 - 21 - 7:35:1”/ var / log /恰当的历史。日志“2017-8-7-6:44:11”/var/log/atop/dummy_after“2017-8-23-7:35:2”/var/log/speech-dispatcher/debug-flite“2017-8-23-7:0:0”/var/log/wtmp“2017-8-7-6:44:11”/var/log/lightdm/lightdm。日志" 2017 - 8 - 23 7:35:2 " / var / log / speech-dispatcher / speech-dispatcher。日志" 2017 - 8 - 23 7:0:0 " / var / log / mysql /错误。日志" 2017 - 8 - 23 7:35:2 " / var / log / repowerd。日志“2017-8-23-7:35:2”/var/log/syslog“2017-8-23-7:35:2”/var/log/kern。日志“2017-8-23-7:35:2”/var/log/cups/access_log“2017-8-23-7:35:2”/var/log/daemon。日志" 2017 - 8 - 23 7:0:0 " / var / log /邮件。警告“2017-8-23-7:0:0”/var/log/mail.info“2017-8-23-7:0:0”/var/log/speech-dispatcher/debug-festival“2017-8-23-7:0:0”/var/log/ppp-connect-errors“2017-8-23-7:0:0”/var/log/alternatives。日志“2017 - 8 - 7 - 6:44:11”/ var / log / speech-dispatcher / speech-dispatcher-protocol。日志" 2017 - 8 - 23 7:0:0 " / var / log / lightdm / x。/var/log/messages" 2017- 8-8-23 -7:35 . 2 "/var/log/messages" 2017- 8-8-23 -7:0:0 "/var/log/atop/dummy_before" 2017- 8-8-23 -7:35 . 2 "/var/log/upstart/*。日志" 2017 - 8 - 23 7:0:0 " / var / log / lightdm / x - 1。日志“2017 - 6 - 1 - 10:51:54”/ var / log /幻想。log" 2017-8-23-7:35:2 "/var/log/btmp" 2017-8-7-6:44:11 "/var/log/mail.err" 2017-8-23-7:0:0 "/var/log/cron.log" 2017-8-23-7:0:0 "/var/log/user.log" 2017-8-23-7:0:0 "/var/log/mysql.log" 2017-8-23-7:0:0 "/var/log/debug" 2017-8-23-7:0:0 "/var/log/vsftpd.log" 2017-7-9-7:35:1 "/var/log/unattended-upgrades/unattended-upgrades-dpkg.log" 2017-8-7-6:44:11 "/var/log/mail.log" 2017-8-23-7:0:0 "/var/log/speech-dispatcher/debug-epos-generic" 2017-8-23-7:0:0 "/var/log/lpr.log" 2017-8-23-7:0:0

2分钟的Linux提示:了解如何使用logsave命令可以

加入网络世界社区吧有个足球雷竞技app脸谱网LinkedIn对大家最关心的话题发表评论。
有关:

版权所有©2017年Raybet2

IT薪资调查:结果是