linux日志服务(4): 日志轮替

日志轮替

logrotate简介

       logrotate是一个日志管理程序,用来把旧的日志文件删除(或者备份),并创建新的日志文件。有两种依据来进行日志的轮替:

  • 根据日志的大小,当文件大小达到某个阈值(设定),就进行轮替。
  • 根据其规定的天数来转储。在规定时间到了之后就进行日志文件的轮替。
           logrotate 的执行由crond服务实现。在/etc/cron.daily目录中,有个文件logrotate,它实际上是个shell script,用来启动logrotate。它每天由cron在指定的时间(/etc/crontab)启动。
           在执行logrotate时,需要指定其配置文logrotate.conf。/etc/logrotate.d目录下面的配置文件会被主动读入到logrotate.conf。

语法规则

       如果你安装了一个新的服务,它的日志转储的规则可以建立一个专门的配置文件,放在/etc/logrotate.d下面。并按照以下语法进行编写:

/var/log/messages   #文件位置与名字
{
size 1M  #当文件大于1M自动轮替
    daily   #文件每天指定时间进行轮替
    rotate 10   #保存10个备份文件
    create 0600 root root   #备份后新建一个文件
    dateformat -%Y%m%d.%s   #使用时间名作为备份日志后缀名
    sharedscripts   
    postrotate  #在日志转储以后执行的命令
     /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
# 重新启动守护进程,否则日志不会写入新建的日志文件
endscript
}

在{}中定义的规则,如果与logrotate.conf中的冲突,以/etc/logrotatate.d/中的文件定义的为准。

阅读更多
文章标签: linux
个人分类: linux学习笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭