来自:
http://blog.chinaunix.net/uid-20673872-id-1578417.html
这样说恐怕也不好理解,不如先让我们看看 /etc/logrota.conf 这个设定档的内容吧:
weekly rotate 4 errors root create #compress
include /etc/logrotate.d
/var/log/wtmp { monthly create 0664 root utmp rotate 1 } |
在前面的 5 行是属於 global 设定,这些都是预设值。在後面的独立单元设定中可以重新定义设定值,否则就使用 global 设定值。最後 5 行则是独立单元的设定,待会再说明。在中间的include 那行,类似 xinetd.conf 的设定一样,也就是将其它个别单元设定以独立的档案形式集中存放在 /etc/logrotate.d 目录中,当然,如果您喜欢,也可以全部写在一个档案上面。
让我们先解读前面的 global 设定吧:
weekly: 进行记录档更换的时间间隔,这里是每星期一次,您也可以改为 daily 或monthly。除了以时间为标准之外,您还可以用档案体积为标准,如 size=100K 。不管用哪种标准,只要条件成立,就进行 rotate 的动作。;
rotate 4: 一共进行多少次更换。也就是说,一共要保存多少个旧的记录档。在logroate 进行更换的时候,原本的记录档,例如 messages,会被更名为 messages.1;而 messages.1 则改名为 messages.2 ;如此类推,一直更换下去。这里设定为 rotate 4 ,也就是说,最多将档案更换为 messages.4 就不再更换了,那麽,如果原本已经有messages.4 这个档的话,就会被删除,除非您有另外的备份,否则就永远找不回来了。
errors root: 当 lograote 程式在执行的时候,如果遇到错误,会将信息以 email形式寄给 root 信箱。
create: 档原本的记录档被 rotate 之後,是否要建立一个新的空的原始记录档名称。这个当然要啦,除非您确定不用,则可以用 nocreate 设定代替。
compress: 经过 rotate 的档案,是否使用 gzip 进行压缩。目前是注解起来的,所以没有使用这个功能
最後面的 5 行句子呢,则是关於 /var/log/wtmp 这个记录档的设定,它的更换标准改为monthly,而不采用 global 的 weekly 设定;然後进行 rotate 之後以 0664 的 permission建立空白原始档,其 owner 身份是 root、goup 身份是 utmp。而且,它只进行一次 rotate 就够了。