1.日志文件的命名规则
a.如果配置文件中拥有"dateext"参数,那么日志会用日期作为日志文件的后缀,例如:"secure-20150101",这样的话日志文件名不会重叠
所以也就不需要日志文件改名,只需要保存指定的日志个数,删除多余的日志文件即可!
b.如果配置文件中没有"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 | 日志轮替时,输出内容通过邮件发送到指定的邮件地址,如mail hb@163.com |
missingok | 如果日志不存在,则忽略该日志的警告信息 |
notifempty | 如果日志为空,则不进行日志轮替 |
minsize 大小 | 日志轮替的最小值,日志一定要达到最小值才会轮替,否则到时间也不轮替 |
size 大小 | 日志只有大于指定大小才进行日志轮替,而不是按时间轮替,如 size 100k |
dateext | 使用日期作为日志轮替的后缀,如log-20140101 |
3.把Apache日志加入轮替
vi /etc/logrotate.conf
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}
4.logrotate 命令
logrotate [选项] [配置文件名]
如果此命令没有选项,则会按照配置文件中的条件进行日志轮替
-v :显示日志轮替过程,加了-v ,会显示日志的轮替的过程
-f : 强制进行日志轮替,不管日志轮替的条件是否已经符合,强制配置文件的所有的日志进行轮替