linux

Linux Syslog日志轮转技巧

小樊
45
2025-08-07 17:41:06
栏目: 智能运维

Linux Syslog日志轮转主要通过logrotate工具实现,以下是关键技巧和配置要点:

  1. 安装logrotate
    大多数系统默认安装,未安装时使用包管理器安装:

    # Debian/Ubuntu  
    sudo apt-get install logrotate  
    # CentOS/RHEL  
    sudo yum install logrotate  
    
  2. 配置日志轮转规则
    /etc/logrotate.d/目录下创建自定义配置文件(如syslog),常用参数:

    • daily/weekly/monthly:轮转周期。
    • rotate N:保留N个轮转日志文件。
    • compress:压缩旧日志(节省空间)。
    • delaycompress:延迟到下一次轮转时压缩。
    • missingok:日志文件丢失时不报错。
    • notifempty:空文件不轮转。
    • create:轮转后创建新日志文件并设置权限(如create 0640 root adm)。
    • copytruncate:复制日志内容后清空原文件(适用于无法重启的服务)。
    • postrotate/endscript:轮转后执行命令(如重启服务)。

    示例配置(针对/var/log/syslog):

    /var/log/syslog {  
        daily  
        rotate 7  
        compress  
        delaycompress  
        missingok  
        notifempty  
        create 0640 root adm  
        postrotate  
            /usr/sbin/systemctl reload rsyslog  
        endscript  
    }  
    
  3. 测试与验证

    • 手动强制轮转:sudo logrotate -f /etc/logrotate.d/syslog
    • 调试模式查看配置是否正确:sudo logrotate -d /etc/logrotate.d/syslog
  4. 自动化与监控

    • 确保/etc/cron.daily/logrotate存在且可执行,logrotate默认通过cron定时运行。
    • 查看轮转状态:cat /var/lib/logrotate/status

注意:部分系统(如使用rsyslog)需在postrotate中重启服务以确保日志持续写入。根据实际需求调整参数,平衡日志保留时长与磁盘空间占用。

0
看了该问题的人还看了