使用linux上的logrotate归档tomcat的日志文件,并按日期分割
在 /etc/logrotate.d下创建一个新的logrotate 配置文件
/tomcat/log/catalina.out
/tomcat/log2/catalina.out #可以同时添加处理多个目录下的日志文件
{
daily # 每天轮转一次日志
missingok # 如果日志文件不存在,不会报错
rotate 7 # 保留最近 7 个归档文件(可根据需要进行调整)
copytruncate #每次轮转时将日志文件复制到备份文件中,然后截断原始日志文件,使其成为空文件。
compress # 压缩归档文件
delaycompress # 延迟压缩,会在下次轮转时压缩昨天的归档文件
notifempty # 如果文件为空,不执行轮转
dateext
dateformat -%Y%m%d #文件按照日期命名
}
该配置无需额外配置别的命令,系统会每天自动执行
如何报文件权限不安全的错误,可以加上
su tomcat tomcat #切换执行的用户
如下
/tomcat/log/catalina.out
/tomcat/log2/catalina.out #可以同时添加处理多个目录下的日志文件
{
daily # 每天轮转一次日志
missingok # 如果日志文件不存在,不会报错
rotate 7 # 保留最近 7 个归档文件(可根据需要进行调整)
compress # 压缩归档文件
delaycompress # 延迟压缩,会在下次轮转时压缩昨天的归档文件
notifempty # 如果文件为空,不执行轮转
dateext
dateformat -%Y%m%d #文件按照日期命名
su tomcat tomcat #切换执行的用户
}
以下是 logrotate的简介
logrotate 是Linux系统上用于管理日志文件的实用程序。它的主要目的是定期轮转(即切割、归档和删除)日志文件,以帮助系统管理员有效地管理日志数据,防止日志文件变得过大并占用磁盘空间。
logrotate 的主要功能包括:
- 日志文件轮转:
它可以根据预定的时间间隔或日志文件大小,将当前日志文件复制或移动到归档文件,并重新创建一个空的原始日志文件,以便继续记录新的日志数据。 - 归档日志文件: logrotate 可以将旧的日志文件归档,通常使用时间戳作为文件名的一部分,以便将来进行审计或检查。
- 自定义策略: 你可以根据自己的需求配置logrotate,例如,指定轮转频率、最大日志文件大小、保留归档的数量等。
- 压缩归档文件: logrotate 可以选择性地压缩归档文件,以节省磁盘空间。
- 删除旧日志: 你可以配置logrotate 删除过早的归档文件,以避免无限制地占用磁盘空间。
- 支持不同的日志文件格式: logrotate 支持多种不同的日志文件格式,因此可以用于各种应用程序和系统日志。
- 自动任务调度: 通常,logrotate 会由操作系统的任务调度器(如cron)自动运行,以便根据配置文件中的规则执行日志轮转任务。