Linux日志轮转

本文介绍了Linux系统的日志管理系统rsyslog,包括处理日志的主要进程及其涉及的常见日志文件,如系统主日志、安全日志、邮件日志等。重点讲解了logrotate工具在日志轮转中的应用,以实现日志文件的有效管理和空间优化。

日志系统rsyslog

日志管理基础

rsyslog 日志管理 logrotate日志轮转 采集 -----> 分析

一、处理日志的进程

rsyslogd: 绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron… httpd/nginx/mysql: 可以自己的方式记录日志

[root@youngfit ~]# ps aux |grep rsyslogd 
root       717  0.0  0.0 219752  3880 ?        Ssl  09:05   0:00 /usr/sbin/rsyslogd -n //

二、常见的日志文件(系统、进程、应用程序)

tail /var/log/messages //系统主日志文件

tail -20 /var/log/messages

tail -f /var/log/messages //动态查看日志文件的尾部

tailf /var/log/secure //认证、安全

tail /var/log/maillog //跟邮件postfix相关

tail /var/log/cron //crond、at进程产生的日志

tail /var/log/dmesg //和系统启动相关

tail /var/log/yum.log //yum

tail /var/log/mysqld.log //MySQL

tail /var/log/xferlog //和访问FTP服务器相关

w //当前登录的用户 /var/lo

<think>我们正在讨论Linux日志轮转中的maxage参数。maxage是logrotate配置文件中的一个选项,用于指定日志文件在轮转后保留的最大天数。超过这个天数的旧日志文件将被删除。 引用说明:参考了logrotate的man手册和常见配置实践。 配置示例: /var/log/syslog { rotate 7 daily maxage 7 compress delaycompress missingok notifempty create 644 root root } 在这个例子中,maxage 7表示轮转后的日志文件最多保留7天。也就是说,7天之前的日志文件会被删除。 注意:maxage和rotate的区别: - rotate:指定保留的轮转文件数量。例如,rotate 7会保留最近的7个轮转文件(如syslog.1.gz, syslog.2.gz, ... syslog.7.gz)。 - maxage:指定按天数删除旧日志。即使轮转文件的数量没有达到rotate指定的数量,只要文件超过maxage指定的天数,也会被删除。 因此,maxage可以确保即使日志轮转没有按预期发生(比如因为服务器停机),旧日志也不会无限期保留。 使用maxage时,通常与daily、weekly、monthly等时间间隔选项一起使用,也可以配合size选项使用(当日志达到一定大小时轮转)。 注意事项: 1. maxage删除的是轮转后的日志文件(即已经经过压缩或重命名的文件),而不是当前的活动日志文件。 2. 删除操作在每次轮转执行。 所以,用户可以根据需要设置maxage来管理日志的保留时间,避免磁盘空间被旧日志占满。 相关问题: 1. logrotate中的rotate和maxage参数有什么区别? 2. 如何配置logrotate以同时按时间和大小轮转日志? 3. 除了maxage,还有哪些参数可以控制日志保留?</think>### Linux日志轮转中的maxage参数详解 在Linux日志轮转配置中,`maxage`参数用于**控制日志文件保留的最大天数**。其核心作用是自动删除超过指定天数的旧日志文件,防止日志文件无限增长占用磁盘空间。 #### 参数作用 1. **时间驱动清理**:根据文件修改时间(mtime)而非轮转次数清理日志 2. **安全保障**:当日志轮转因故障中断时,仍能按时间阈值清理旧日志 3. **精确控制**:与`rotate`参数互补(`rotate`控制保留文件数量,`maxage`控制保留时长) #### 配置语法 在`/etc/logrotate.d/`目录的配置文件中: ```conf /path/to/logfile { daily maxage 30 # 保留最近30天的日志 rotate 7 # 同时保留7个轮转文件 compress missingok } ``` #### 典型使用场景 1. **合规性要求**:法规要求日志保留30天 ```conf /var/log/secure { weekly maxage 30 # 满足合规保留期 } ``` 2. **磁盘空间有限**:在嵌入式系统中限制日志存储时长 ```conf /var/log/app.log { size 10M maxage 7 # 超过7天自动删除 } ``` 3. **高流量服务**:配合`rotate`防止日志爆炸性增长 ```conf /var/log/nginx/*.log { daily rotate 365 maxage 60 # 双重保障:最多保留60天 } ``` #### 注意事项 1. **时间计算基准**:基于日志文件的`修改时间`(可通过`stat`命令验证) 2. **删除时机**:仅在日志轮转执行时检查并删除超期文件 3. **与rotate关系**: - 当`maxage`和`rotate`同时存在时,**先执行数量删除**(`rotate`),**再执行时间删除**(`maxage`) - 例如`rotate 7 + maxage 30`:先保留7个文件,再从这7个中删除30天前的 #### 最佳实践 ```conf # 完整示例:Apache日志配置 /var/log/apache2/*.log { daily missingok rotate 14 maxage 60 # 最终保留不超过60天 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /usr/sbin/apachectl graceful endscript } ``` > 此配置实现双重清理机制:首先保留14个轮转文件,再删除其中超过60天的文件[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值