Linux系统中Logrotate工具用法汇总

2016-02-18 19:18 11 1 收藏

下面图老师小编要跟大家分享Linux系统中Logrotate工具用法汇总,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - Linux教程 】

Linux系统操作中,Logrotate是一款日志管理工具,可对Linux日志进行处理,在使用前,需要对Logrotate工具进行配置,下面图老师小编就给大家介绍下Linux中Logrotate工具的用法,一起来了解下吧。

 Linux系统中Logrotate工具用法汇总

1运行原理

Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf

EXITVALUE=$?

if [ $EXITVALUE != 0 ]; then

/usr/bin/logger -t logrotate ALERT exited abnormally with [$EXITVALUE]

fi

exit 0

/etc/cron.daily目录所有脚本运行频率是由CRON通过/etc/crontab控制,

有两种运行方式: 1 直接执行单个命令; 2 目录规划,下面仅列举目录规划配置

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

*/1 * * * * root run-parts /etc/cron.min

01 * * * * root run-parts /etc/cron.hourly

59 23 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

2配置文件

/etc/logrotate.conf 全局默认文件

/etc/logrotate.d/ 目录,下属文件通过include纳入前者

常用选项

weekly 《==默认一周执行一次 rotate 工作

rotate 4 《==保留多少个日志文件。默认保留四个。

create 《==创建新的文件。因为日志被改名,因此要创建一个新的来继续存储之前的日志

dateext 《==文件后缀是日期格式,也就是切割后文件是:xxx.log-20131216,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

compress 《==是否压缩日志。

include /etc/logrotate.d # 将 /etc/logrotate.d/ 目录中的所有文件都加载进来

/var/log/wtmp { 《==仅针对 /var/log/wtmp 所设定的参数

monthly 《==每月一次切割,取代默认的一周

minsize 1M 《==文件大小超过 1M 后才会切割

create 0664 root utmp 《==指定新建的日志文件权限以及所属用户和组

rotate 1 《==只保留一个日志。

}

通过include加载的文件示例如下

[root@www ~]# vi /etc/logrotate.d/syslog

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron

{

sharedscripts

prerotate

/usr/bin/chattr -a /var/log/messages

endscript

sharedscripts

postrotate

/bin/kill -HUP `cat /var/run/syslogd.pid 2》 /dev/null` 2》 /dev/null || true

/bin/kill -HUP `cat /var/run/rsyslogd.pid 2》 /dev/null` 2》 /dev/null || true

/usr/bin/chattr +a /var/log/messages

endscript

}

日志文件: 被处理的日志绝对路径。使用空格符分隔多个文件名;

执行脚本:

可调用外部指令来进行额外的命令,这个设定需与 sharedscripts 。。。。 endscript 设定合用才行。命令介绍:

prerotate:在启动 logrotate 之前进行的指令,例如修改文件的属性等动作;

postrotate:在做完 logrotate 之后启动的指令,例如重新启动 (kill -HUP) 某个服务;

那么 /etc/logrotate.d/syslog 内设定的六个文件的切割功能就变成了:

1.该设定只对 /var/log/ 内的 messages, secure, maillog, spooler, boot.log, cron 有效;

2.日志切割每周一次、保留四个、且切割下来的日志文件不进行压缩(未更改预设值);

3.切割完毕后 (postrotate) 取得 syslog 的 PID 后,以 kill -HUP 重新启动 syslogd

切割案例:Nginx

============================

在 /etc/logrotate.d 新建 nginx

/usr/local/nginx/logs/*.log {

daily

rotate 5

dateext

compress

sharedscripts

postrotate

if [ -f /usr/local/nginx/logs/nginx.pid ]; then

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

fi

endscript

}

上面就是Linux中Logrotate工具的用法介绍了,本文介绍了Logrotate工具的运行原理和Logrotate文件的配置,如果你要管理Linux系统日志,可选择使用Logrotate日志管理工具。

来源:http://www.tulaoshi.com/n/20160218/1584949.html

延伸阅读
标签: 电脑入门
SVN是一款源代码版本控制工具,在服务器上用命令行进行操作,下面图老师小编将针对Linux中SVN常用命令和不常用命令做个汇总,以便你对SVN命令有个详细的了解。 Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器。不同的是,它可以记录每一次文件和目录的修改情况,这样就可以在需要的回滚时,将数据恢复到以前的版...
功能说明: 管理记录文件。 语 法: logrotate [-?dfv][-s <状态文件][--usage][配置文件] 补充说明: 使用logrotate指令,可让你轻松管理系统所产生的记录文件。它提供自动替换,压缩,删除和邮寄记录文件,每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。您必须自行编辑,指定配置文件,预设...
标签: 电脑入门
很多人都不知道Linux中tar命令的具体用法,其实tar命令组合各种参数有很多实用的地方,下面图老师小编就给大家详细介绍下Linux中tar命令的用法,一起来了解下吧。 tar 语法: 语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: c 创建...
标签: 电脑入门
Linux下chkconfig命令主要用于查询系统在每一个执行等级中执行的系统服务,那么chkconfig命令要如何使用呢?下面图老师小编就给大家介绍下Linux中chkconfig命令的具体用法。 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 使用语法 ...
标签: 电脑入门
近来系统之家的图老师小编发现,很多Linux初学者对free命令不是很了解,其实Linux下free命令主要用于查看当前系统内存的使用情况,具体的随图老师小编一起来了解下吧。 free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一 1.命令格式: f...

经验教程

33

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部