最近由于最近做项目,但是项目本身没有做日志滚动,所以日志一直在增长。这样下去,肯定会爆盘,造成不可预知的后果。这适用于logrotate。Logrotate旨在简化管理。生成大量日志文件的系统。它允许日志文件的自动轮换、压缩、删除和邮寄。每个日志文件可能每天、每周、每月或当它变得太大时被处理。正如manlogrotate所说,logrotate可以使用root@49335c6e5ee3:/var/log#logrotate--helpUsage:logrotate[OPTION...]-d,--debugDon自动旋转、压缩、删除日志和发送电子邮件'什么都不做,只是测试(暗示-v)-f,--force强制文件轮换-m,--mail=command命令发送邮件(而不是`/usr/bin/mail')-s,--state=statefile状态文件的路径-v,--verbose在循环期间显示消息-l,--log=STRING日志文件或'syslog'记录到syslog--version显示版本信息帮助选项:-?,--help显示这个helpmessage--usage显示简要使用信息即可以手动执行logrotateconfigfile文件,如何设置配置文件中的内容,如下demo所示:/var/log/cron.log{dailyrotate7notifemptycreatesize1Knocompressnodateextmissingok}说明参数说明dailyrollsrotaterotatenotifempty保留的文件数如果日志为空,则rolledcreate在旧日志文件轮转后创建新的日志文件压缩nodateextlog文件,以递增数字的形式增加,如:log.1missingok如果log文件不存在,则不会报错。详细说明参见manlogrotate的运行机制。对于安装了cron的系统,crontab会在每天定时执行/etc/cron.daily目录下的脚本,在这个目录下有一个叫logrotate的文件:#!/bin/shtest-x/usr/sbin/对数旋转||exit0/usr/sbin/logrotate/etc/logrotate.conf我们看到命令/usr/sbin/logrotate/etc/logrotate.conf每天都会运行。在Linux上文件/etc/logrotate.conf的内容如下:#详情参见“manlogrotate”#每周轮换日志文件#默认使用syslog组,因为这是/var/log的所属组#/syslog.surootsyslog#keep4weeksofbacklogsrotate4#createnew(empty)logfilesafterrotatingoldonescreate#如果你想要你的,请取消注释压缩的日志文件#compress#packages将日志轮换信息放入此目录include/etc/logrotate.d#没有包拥有wtmp或btmp--我们将在此处轮换它们/var/log/wtmp{missingokmonthlycreate0664rootutmprotate1}/var/log/btmp{missingokmonthlycreate0660rootutmprotate1}#可以在这里配置系统特定的日志我们看到include/etc/logrotate.d,它会包含/etc/logrotate.d目录下的文件进来吧,所以对于用户来说,在/etc/logrotate.d中配置文件就可以了。总结一下logrotate的配置文件:/etc/logrotate.d/*/etc/logrotate.confPlatformOpenWritereleased