手动旋转在Linux的日志文件

登录旋转,在Linux系统上很正常的事情,防止任何特定的日志文件变得过大,又确保了系统的活动足够的细节仍然可以进行适当的系统监控和故障排除。

一组的日志文件中的最古老的被删除,其余日志文件被撞下来一个缺口,一个新文件取代它的位置作为当前的日志文件。此方法方便地自动化的,可以根据需要进行调整的细节。

日志文件手动旋转,可以通过使用的logrotate命令。这篇文章详细介绍了如何手动旋转日志文件以及将会发生什么。

这篇文章中描述的例子是关于Ubuntu和相关的Linux系统的。其他系统可能使用不同的日志文件和配置文件名,但是进程本身应该非常类似。

为什么旋转日志文件

在正常情况下,没有必要手动旋转日志文件。你的Linux系统应该已经被设置为每天转动一些日志(或者更少)和其他取决于它们的大小。如果您需要旋转一个日志文件,以腾出空间或正在进行的活动分离当前日志,它很容易做,但将取决于您的文件转规格。

一个小的背景

只要安装了Linux系统,就会设置大量的日志文件进行轮换。此外,某些应用程序在安装到系统上时,会添加它们自己的日志文件和旋转规范。日志文件旋转的配置文件可以在/etc/logrotate.d目录中。就如何实现这一过程的作品详情,可上之前的帖子

在日志旋转过程中,当前日志通常需要一个类似于log的名称。1、旧原木。1变成了日志。2 .等而最老的日志文件,说日志。从系统中删除。当然,保留的版本的名称和数量取决于被旋转的日志和循环中的文件的旋转规范/etc/logrotate.d目录中。对于一些日志文件,只有几个“代”被保留,而对于其他人,你可能会看到七个或更多。

在通常的日志文件旋转之后,您的syslog文件可能如下所示。(注意:添加了行尾的“was syslog”注释,以说明旋转过程如何影响文件。)

$ ls -l /var/log/syslog*
1 syslog adm 128674 3月10日08:00 /var/log/syslog <== new -rw-r- 1 syslog adm 2405968 3月9日16:09 /var/log/syslog1 <==是syslog -rw-r- 1 syslog adm 206451 3月9日00:00 /var/log/syslog.2.gz <==是syslog。1 -rw-r syslog adm - - - - - - 216852 3月8日00:00 /var/log/syslog.3.gz < = =是syslog.2.gz -rw-r syslog adm - - - - - - 212889 3月7日00:00 /var/log/syslog.4.gz < = =是syslog.3.gz -rw-r syslog adm - - - - - - 219106 3月6日00:00 /var/log/syslog.5.gz < = =是syslog.4.gz -rw-r syslog adm - - - - - - 218596 3月5日00:00 /var/log/syslog.6.gz < = =是syslog.5.gz -rw-r syslog adm - - - - - - 211074 3月4日00:00 /var/log/syslog.7.gz syslog.6.gz < = =

您可能不会惊讶地看到,除了当前和最近的日志文件之外,这个系统上的所有日志文件都已被gzip压缩以节省空间。这背后的预期是,大多数系统管理员可能只查看最近的文件,所以保持其他文件可用,但压缩是一个明智的举动。

手动日志循环

要手动旋转syslog文件,可以使用logrotate命令如下:

$ sudo logrotate -f /etc/logrotate.d/rsyslog

注意,这logrotate命令使用-F(强制旋转)选项。的指定文件中提取旋转配置细节/etc/logrotate.d/rsyslog目录中。然后,该命令将遵循典型的进程—删除syslog.7.gz、移动syslog.6.gzsyslog.7.gz、移动syslog.5.gzsyslog.6.gz、移动syslog.4.gzsyslog.5.gz、移动syslog.3.gzsyslog.4.gz和移动syslog.2.gzsyslog.1.gz,但它不一定会创造新的syslog文件。你可以用这些命令手动设置文件,并确保正确的文件所有权和权限:

$ sudo的触摸在/ var / log / syslog的$ sudo的日志CHOWN:ADM在/ var / log / syslog的
$ sudo chmod 640 /var/log/syslog

或者,您可以将这一行添加到您的/etc/logrotate.d/rsyslog文件做的工作适合你:

创建0640系统日志ADM

插入如下:

在/ var / log / syslog的
{
旋转7
日常
missingok
notifempty
创建0640 syslog adm <==
delaycompress
压缩
postrotate
/ usr / lib目录/ rsyslog现在/ rsyslog现在,旋转
endscript
}

下面是一个手动日志旋转的例子wtmp记录用户登录的日志文件。注意只有两个wtmp文件将保留在该系统上,由于在“旋转2”规范/etc/logrotate.d / wtmp

之前:

$ LS -l的wtmp * -rw-R ----- 1根的utmp 1152年03月12 11点49分的wtmp -rw-R ----- 1周的utmp 768年03月11 17:04 wtmp.1

命令:

$ sudo的日志轮播-f /etc/logrotate.d/wtmp

后:

$ ls -l /var/log/wtmp* -rw-r- 1 root utmp 0 Mar 12 11:52 /var/log/wtmp -rw-r- 1 root utmp 1152 Mar 12 11:49 /var/log/wtmp。1 -rw-r——1根adm 99726 2月21日07:46 /var/log/wtmp.report

请注意,每个日志的最近旋转中被捕获logrotate的状态文件-旋转是手动或自动完成:

$ grep wtmp /var/lib/logrotate/status "/var/log/wtmp
加入网络世界社区足球竞猜app软件Facebook的LinkedIn对那些顶级心态的话题发表评论。
相关:

版权©2020足球竞彩网下载

工资调查:结果在