1、日志文件的命名规则
如果配置文件中拥有 dateext 参数,那么日志会用日期来作为日志文件的后缀。例如 secure-20130605。这样,日志文件就不会重名,也就不需要更改日志的文件名,只需保存指定的日志个数,删除多余的日志文件即可。
如果配置文件中没有 dateext 参数,那么日志文件就需要进行改名了。当第一次进行日志轮替时,当前的 secure 日志会自动更名为 secure.1 ,然后新建 secure 日志,用来保存新的日志。当第二次进行日志轮替时, secure.1 会自动改名为 secure.2 ,当前的 secure 日志会自动更名为 secure.1 ,然后新建 secure 日志,用来保存新的日志。
2、logrotate配置文件 ( /etc/logrotate.conf )
参数 | 说明 |
---|---|
daily | 日志的轮替周期是每天。 |
weekly | 日志的轮替周期是每周。 |
monthly | 日志的轮替周期是每月。 |
rotate 数字 | 保留的日志文件的个数。0指没有备份。 |
compress | 日志轮替时,旧的日志进行压缩 |
create mode owner group | 建立新日志,同时指定新日志的权限、所有者和所属组。 如 create 0600 root utmp。 |
mail address | 当日志轮替时,输出内容通过邮件发送到指定的邮箱。 |
missingok | 如果日志不存在,则忽略该日志的警告信息。 |
notifempty | 如果日志为空文件,则不进行日志轮替。 |
minisize 大小 | 日志轮替的最小值。也就是日志一定要达到这个最小值才会轮替,否则就算时间达到也不轮替。 |
size 大小 | 日志只有大于指定大小才进行日志轮替,而不是按照时间轮替。 如 size 100k。 |
dateext | 使用日期作为日志轮替文件的后缀。 如 secure-20130605。 |
3、把apache日志加入轮替
注意:只要是RPM包安装的服务,它的日志默认就支持轮替,而不用手动加入轮替。
比如,现在需要把源码包安装的apache的访问日志和错误日志进行轮替。
[root@localhost ~]# vi /etc/logrotate.conf
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}
/usr/local/apache2/logs/error_log {
daily
create
rotate 30
}
4、logrotate命令
[root@localhost ~]# logrotate [选项] 配置文件名
选项:
-v:显示日志轮替的相关信息。
-f:强制进行日志轮替。不管日志轮替的条件是否已经符合,强制配置文件中所有的日志进行轮替。
如果没写选项,则会按照配置文件中的规则进行日志轮替。
示例:
[root@localhost ~]# logrotate -v /etc/logrotate.conf