『无欲则无求』Linux日志管理 — 94、logrotate命令

  • Post author:
  • Post category:linux


我们日志轮替之所以可以在指定的时间备份日志,其实也要依赖系统定时任务。如果大家还记得

/etc/cron.daily/

目录,就会发现这个目录中是有

logrotate

文件,

logrotate

命令通过这个文件依赖定时任务执行的。


logrotate

命令的格式

[root@localhost ~]# logrotate [选项] 配置文件名

选项:
  如果此命令没有选项,则会按照配置文件中的条件进行日志轮替。
  -v:显示日志轮替过程。
  -f:强制进行日志轮替。不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮替。

注意:

logrotate

命令一般不需要我们执行,需要强制轮替的时候才需要执行。

我们执行

logrotate

命令,并查看下执行过程:

# 查看日志轮替的流程
[root@localhost ~]# logrotate -v /etc/logrotate.conf

# 截取一个日志轮替说明
# 这就是我们自己加入轮替的testerr.log日志。
rotating pattern:/var/log/testerr.log weekly(6 rotations)
empty log files are rotated,old logs are removed 
	considering log/var/log/testerr.log 
	log does not need rotating		<-- 时间不够一周,所以不进行日志轮替

我们发现

/var/log/testerr.log

加入了日志轮替,已经被

logrotate

识别并调用了。只是时间没有达到轮替的标准,所以没有进行轮替。

那我们强制进行一次日志轮替,看看有什么结果:

# 强制进行日志轮替,不管是否符合轮替条件
[root@localhost ~]# logrotate -vf /etc/logrotate.conf

# 目标testerr.log日志文件片段
rotating pattern:/var/log/testerr.1og forced from command line(6 rotations)
empty log files are rotated,old logs are removed 
	considering 1og/var/log/testerr.log 
	log needs rotating		<-- 日志需要轮替

rotating log/var/log/testerr.log,log->rotateCount is 1
dateext suffix'-20200618'	<-- 提取日期参数
glob pattern'-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed 
running prerotate script 
fscreate context set to unconfined_u:object_r:var_log_t:s0

# 旧的日志被重命名
renaming/var/log/testerr.log to /var/log/testerr.log-20200618

# 创建新日志文件,同时制定权限、所有者和属组
creating new/var/log/testerr.log mode= 0600 uid =0 gid=0
running postrotate script

我们发现

testerr.log

日志已经完成了日志轮替。

我们查看下新产生的日志和旧日志:

[root@localhost ~]# ll /var/log/testerr.log*
# 旧日志文件已经转储
-rw-------. 1 root root 0 6月 7 10:07/var/log/testerr.log
-rw-------. 1 root root 237 6月 18 09:58/var/log/testerr.log-20200618

# 新的日志文件被自动加入了chattr的a属性。
[root@localhost ~]# lsattr /var/1og/testerr.log
-a------e- /var/1og/alert.log


logrotate

命令使用

“-f"

选项之后,就不管日志是否已经符合了日志轮替条件,而强制把所有的日志都进行了轮替。



版权声明:本文为Liuyuelinjiayou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。