您的位置:首页 > 运维架构 > Linux

linux下日志分割logrotate 设置和理解(一)

2012-07-02 09:33 197 查看
linux下日志分割logrotate 设置和理解

对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员能使用logrotate 程式用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员能使用logrotate 程式用来管理系统中的最新的事件。logrotate 还能用来备份日志文件,本篇将通过以下几部分来介绍

日志文件的管理:

1、logrotate 设置

2、缺省设置 logrotate

3、使用include 选项读取其他设置文件

4、使用include 选项覆盖缺省设置

5、为指定的文件设置转储参数

一、logrotate 设置

logrotate 程式是个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把他叫做“转储”。我们能根据日志文件的大小,也能根据其天数来转储,这个过程一般通过 cron 程式来执行。

logrotate 程式还能用于压缩日志文件,及发送日志到指定的E-mail 。

logrotate 的设置文件是 /etc/logrotate.conf。主要参数如下表:

参数 功能

compress 通过gzip 压缩转储以后的日志

nocompress 不必压缩时,用这个参数

copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

nocopytruncate 备份日志文件不过不截断

create mode owner group 转储文件,使用指定的文件模式创建新的日志文件

nocreate 不建立新的日志文件

delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩

nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。

errors address 专储时的错误信息发送到指定的Email 地址

ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。

notifempty 如果是空文件的话,不转储

mail address 把转储的日志文件发送到指定的E-mail 地址

nomail 转储时不发送日志文件

olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

noolddir 转储后的日志文件和当前日志文件放在同一个目录下

prerotate/endscript 在转储以前需要执行的命令能放入这个对,这两个关键字必须独立成行

postrotate/endscript 在转储以后需要执行的命令能放入这个对,这两个关键字必须独立成行

daily 指定转储周期为每天

weekly 指定转储周期为每周

monthly 指定转储周期为每月

rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份

tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~

size size 当日志文件到达指定的大小时才转储,Size 能指定 bytes (缺省)及KB (sizek)或MB (sizem).

二、缺省设置 logrotate

logrotate 缺省的设置募??/etc/logrotate.conf。

Red Hat Linux 缺省安装的文件内容是:

# see "man logrotate" for details

# rotate log files weekly

weekly

# keep 4 weeks worth of backlogs

rotate 4

# send errors to root

errors root

# create new (empty) log files after rotating old ones

create

# uncomment this if you want your log files compressed

#compress

1

# RPM packages drop log rotation information into this directory

include /etc/logrotate.d

# no packages own lastlog or wtmp --we’ll rotate them here

/var/log/wtmp {

monthly

create 0664 root utmp

rotate 1

}

/var/log/lastlog {

monthly

rotate 1

}

# system-specific logs may be configured here

缺省的设置一般放在logrotate.conf 文件的最开始处,影响整个系统。在本例中就是前面12行。

第三行weekly 指定所有的日志文件每周转储一次。

第五行 rotate 4 指定转储文件的保留 4份。

第七行 errors root 指定错误信息发送给root。

第九行create 指定 logrotate 自动建立新的日志文件,新的日志文件具有和

原来的文件相同的权限。

第11行 #compress 指定不压缩转储文件,如果需要压缩,去掉注释就能了。

三、使用include 选项读取其他设置文件

include 选项允许系统管理员把分散到几个文件的转储信息,集中到一个

主要的设置文件。当 logrotate 从logrotate.conf 读到include 选项时,会从指定文件读入设置信息,就似乎他们已在/etc/logrotate.conf 中相同。

第13行 include /etc/logrotate.d 告诉 logrotate 读入存放在/etc/logrotate.d 目录中的日志转储参数,当系统中安装了RPM 软件包时,使用include 选项十分有用。RPM 软件包的日志转储参数一般存放在/etc/logrotate.d 目录。

include 选项十分重要,一些应用把日志转储参数存放在 /etc/logrotate.d 。

典型的应用有:apache, linuxconf, samba, cron 及syslog。

这样,系统管理员只要管理一个 /etc/logrotate.conf 文件就能了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: