Logrotate操作手册

来源:互联网 发布:苗阜精神状态知乎 编辑:程序博客网 时间:2024/05/29 13:35

一.概要说明

logrotate工具是为了方便进行日志管理而产生的一个工具,主要可以完成的工作包含:基于天、周、月、文件大小进行日志的滚动备份、压缩、删除甚至是发送邮件。

 

二.调用方式

  1. 每天晚上,cron daemon会自动执行/etc/cron.daily目录下的任务。
  2. 这个会触发/etc/cron.daily/logrotate文件,logrotate一般是随linux安装的。

它会执行这个命令“/usr/sbin/logrotate/etc/logrotate.conf”。

  1. /etc/logrotate.conf 包含了/etc/logrotate.d目录下的所有脚本。
  2. 这个会触发自定义的/etc/logrotate.d/…文件。

 

三. logrotate语法

logrotate [-dv][-f] [-s] config_file+

什么都不跟则显示版本信息和简单的帮助信息,如果处理过程中出现异常则返回非0的$?;

--?

显示帮助信息

-v

显示详细信息

-d

开启调试模式并隐含开启-v,不会对日志和logrotate的state文件产生操作

-f

忽略调用周期强制调用logrotate,方便测试

-m

告知logrotate发送邮件的命令

-s

多个logrotate运行时告知logrotate自己使用的state文件(/var/lib/logrotate.status)

config_file+

表示可以使用多个配置文件(默认为/etc/logrotate.conf)在后面,最好是在一个配置文件中进行引用(测试某条新的规则时可以单独创建一个配置文件并用-f参数进行强行调用)

例: /usr/sbin/logrotate -vf/etc/logrotate.d/audit

 

四. logrotate配置目录

日志配置目录/etc/logrotate.d/…

logrotate缺省配置目录/etc/logrotate.conf

 

五. logrotate 参数说明

daily

表示每天整理一次,其它可用值为‘weekly’、‘monthly’、‘yearly

rotate 30

表示保留30份的备份文件

dateext

让旧日志文件以创建日期命名

compress

nocompress

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

不压缩日志

delaycompress 

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

copytruncate

表示先复制log文件的内容,然后再清空

size 5M

日志文件大小增长到5MB再进行轮循。

notifempty

如果日志文件为空,轮循不会进行。

missingok

在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。

postrotate

endscript

在转储以后执行命令,postrotate和endscript里面指定的命令将被执行。

在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

prerotate

endscript

在转储以前执行的命令

 

六. XenServer 日志切割

/etc/logratate.d/…

audit

audit.log

syslog

messages

secure

maillog

spooler

boot.log

cron

 

audit具体配置:

/var/log/audit.log {

    daily

    rotate 30

    dateext

    compress

    delaycompress

    notifempty

    missingok

    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

    endscript

}


syslog具体配置:

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

    daily

    rotate 30

    dateext

    compress

    delaycompress

    missingok

    notifempty

    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

    endscript

}


七. Tomcat 日志切割

       Tomcat日志配置路径 /etc/logrotate.d/tomcat

       Tomcat日志存储路径 /opt/tomcat7/logs/…

 

vim /etc/logrotate.d/tomcat

/opt/tomcat7/logs/catalina.out {

rotate 14

daily

copytruncate

compress

notifempty

missingok

}


原创粉丝点击