如何使用logrotate进行原木旋转

想知道logrotate是如何管理日志文件的吗?让我们深入了解一些细节。

Linux系统上的日志旋转比您可能期望的更复杂。哪些日志文件旋转,何时以及多久,无论是否旋转的日志文件,以及日志文件的实例都依赖于配置文件中的设置。

由于以下几个原因,日志文件的循环非常重要。首先,您可能不希望旧的日志文件占用太多的磁盘空间。其次,当您需要分析日志数据时,您可能不希望这些日志文件非常大且非常麻烦。最后,按日期组织日志文件可能会使发现和分析更改更加容易(例如,将上周的日志数据与本周的日志数据进行比较)。

LogOratate Utility会使日志旋转相当简单,自动。它介绍了很多智能实践来使用,但要管理和修改此过程的工作原理,您需要能够对等文件进行对等控制日志文件旋转的文件。

什么是对数旋转?

日志旋转是重命名当前日志文件的过程(例如,Auth.log成为auth.log.1),并为新日志条目设置一个新的日志文件(例如,auth.log)。根据要保留的文件数,我们可能会看到像logfile.6的内容,成为logfile.7(使用旧的logfile.7消失)和logfile.5在创建新的logfile之前,等于logfile.6等。如果它们往往是非常大的文件,也可能会压缩旧的日志文件。因此,您可能会看到logfile.1.gz而不是logile。

logrotate是如何工作的

LogOrotate工具通常用于管理日志旋转的过程,但是Logotate本身通过Cron运行。

要注意的重要文件是:

  • /usr/sbin/logrotate——logrotate命令本身(可执行文件)
  • /etc/cron.Daily /logrotate——每天运行logrotate的shell脚本(注意它可能是/etc/cron.daily/logrotate.)某些系统上的Cron)
  • /etc/logrotate.conf - 日志旋转配置文件

另一个重要文件是/etc/logrotate.d,包括在/etc/logrotate.conf文件中的此行中的进程中:

包括/etc/logrotate.d

从下面的条目中可以看到,保留了7代syslog文件,其中大部分都被压缩了。

$ ls -l /var/log/syslog* -rw-r----- 1 syslog adm 14255 8月22日19:55 /var/log/syslog -rw-r----- 1 syslog adm 74662 8月22日07:35 /var/log/syslog。1 -rw-r syslog adm - 6924 8月21日07:35 /var/log/syslog.2.gz -rw-r syslog adm - 3713 8月20 07:35 /var/log/syslog.3.gz -rw-r syslog adm - 7272 8月19 07:35 /var/log/syslog.4.gz -rw-r syslog adm - 3815 8月18 07:35 /var/log/syslog.5.gz -rw-r syslog adm - 6905 8月17 07:35 /var/log/syslog.6.gz -rw-r syslog adm - 3627 8月16 07:35 /var/log/syslog.7.gz

对于许多日志文件,只保留四代旧文件。要了解为什么默认保留七个syslog文件,请查看/etc/logrotate.d/rsyslog文件的此部分。注意“旋转7”规范。

root@stinkbug: / etc / logrotate。D # more rsyslog /var/log/syslog {rotate 7 <== daily missinggok notif空delaycompress压缩postrotate调用-rc。D rsyslog rotate > /dev/null endscript}

syslog文件规则还指定了“delaycompress”,意思是最近的文件在下一次旋转周期之前不会被压缩。

对于许多其他日志文件,旋转规范是非常不同的。这些日志文件只保留了三代。它们是每周换一次,而不是每天换一次。

/var/log/mail.info /var/log/mail.warn /var/log/mail.err /var/log/mail.log /var/log/daemon.log /var/log/kern.log / var/log/auth.log /var/log/user.log /var/log/lpr.log /var/log/cron.log / var / log / debug / var / log / messages {旋转4每周迷失ok notifempty compress delaycompressSharedScripts Postrotate Invoke-RC.D rsyslog旋转> / dev / null stantive}

对于WTMP和BTMP文件,旋转详细信息包含在/etc/logrotate.conf文件中。这些日志文件每月旋转,只保留一个较旧的文件。请注意,下面的配置线还确定旋转文件的权限和所有权。

#没有包自己的wtmp,或btmp  - 我们将在这里旋转它们/ var / log / wtmp {signtok每月创建0664 root utmp旋转1} / var / log / btmp {missingok每月创建0660 rooturemp旋转1}

以下是其他设置的含义:

  • 每周:每周旋转日志。可用选项每日,每周,每月和每年
  • missinggok:如果没有找到*.log文件就可以了
  • 旋转#:在删除旧日志文件之前保留指定的文件数
  • compress:压缩(gzip)日志文件
  • delaycompress:将压缩延迟到第二次
  • compresscmd:设置要压缩的命令。默认为gzip
  • UncompressCMD:设置要解除的命令。默认为Gunzip.
  • notifempty:不要旋转空文件
  • create 640 root adm:创建新的日志文件,设置权限/所有者/组
  • postrotate:旋转后运行的脚本已完成
  • preerotate:日志旋转开始之前运行的脚本
  • 大小:当文件大小达到特定限制时旋转
root @ stinkbug:/ var / log#ls -l auth.log * -rw-r ----- 1 syslog adm 13629 8月22日17:55 auth.log -rw-r ----- 1 syslog adm 2835488月21日07:35 auth.log.1 <==没有压缩-rw-r ----- 1 syslog adm 11316 8月13日07:35 auth.log.2.gz -rw-r ----- 1syslog adm 11591 8月7日06:43 auth.log.3.gz.gz -rw-r ----- 1 syslog adm 14536 7月24日07:35 auth.log.4.gz

DELAYCREMCRECTS设置通常用于更容易使用的文件,因此让他们准备好使用一天是有道理的。

conf文件为大多数日志文件指定了轮转时间表(默认为每周)、分配的组、是否创建新文件、是否默认压缩等等。

在大多数Linux系统中,/var/log目录中有相当多的文件,但其中许多文件默认情况下是不旋转的,而许多文件位于子目录中。使用wc的一个简单命令可以计算它们:

root @ stinkbug:〜#find / var / log -type f |WC -L 172.

/ var / lib / logrotate / status文件,创建时/etc/cron.daily/logrotate运行,显示上次旋转每个日志文件时的日期和时间。

$ More Status Logrotate State  - 版本2“/var/log/apt/term.log”2017-8-7-6:44:11“/ var / log / cups / Error_log”2017-8-19-7:35:1“/var/log/unattending-upgrades/unattending-upgrades.log”2017-8-7-6:44:11“/var/log/ufw.log”2017-8-23-7:0:0:0:0:0:0:0:0“/var/log/dpkg.log”2017-8-7-6:44:11“/var/log/ligrishdm/seat0-greeter.log”2017-8-23-7:35:2“/ var/log/unattended-upgrades/unattending-upgrades-shutdown.log“2017-7-15-7:0:0”/var/log/Auth.log“2017-8-21-7:35:1”/ var/log/apt/history.log“2017-8-7-6:44:11”/ var / log / atop / dummy_after“2017-8-23-7:35:2”/ var / log /语音调度员/ debug-flite“2017-8-23-7:0:0”/ var / log / wtmp“2017-8-7-6:44:11”/var/log/ligrishdm/lightdm.log“2017-8-23-7:35:2“/var/log/speech-dispatcher/speech-dispatcher.log”2017-8-23-7:0:0“/var/log/mysql/error.log”2017-8-23-7:35:2“/var/log/repowerd.log”2017-8-23-7:35:2“/ var / log / syslog”2017-8-23-7:35:2“/var / log / kern.log“2017-8-21-7:35:1”/ var / log / cups / access_log“2017-8-23-7:35:2”/var/log/daemon.log“2017-8-23-7:0:0“/var/log/mail.warn”2017-8-23-7:0:0“/var/log/mail.info”2017-8-23-7:0:0“/ var / log / spearationer / debug-festives”2017-8-23-7:0:0“/ var / log / ppp-connect-errors”2017-8-23-7:0:0“/var/log/Alternatives.log”2017-8-7-6:44:11“/var/log/speech-dispatcher/speech-dispatcher-protocol.log”2017-8-23-7:0:0“/var/log/lightdm/x-0.log”2017-8-23-7:35:2“/ var / log / messages”2017-8-23-7:0:0“/ var / log / atop / dummy_before”2017-8-23-7:35:2“/ var / log /upstart / *。日志“2017-8-23-7:0:0”/var/log/lightdm/x-1.log“2017-6-1-10:51:54”/ var / log / apport。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/unattending-upgrades/unattending-upgrades-dpkg.log”2017-8-7-6:44:11“/var/log/mail.log”2017-8-23-7:0:0“/ var / log / speach-dispatcher / debug-epos-generic”2017-8-23-7:0:0“/var/log/lpr.log”2017-8-23-7:0:0

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

加入网络世界社区足球竞猜app软件FacebookLinkedIn评论是最重要的主题。
相关:

版权©2017足球竞彩网下载

工资调查:结果在