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

来源:互联网 发布:freebsd linux 双系统 编辑:程序博客网 时间:2024/06/05 20:08

日志轮替

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/中的文件定义的为准。

原创粉丝点击