ubuntu

Ubuntu syslog日志轮转策略怎样设置

小樊
48
2025-04-30 06:41:01
栏目: 智能运维

在Ubuntu系统中,syslog日志轮转策略通常由rsyslogsyslog-ng服务管理。以下是针对这两种服务的日志轮转策略设置方法:

使用rsyslog

  1. 编辑rsyslog配置文件: 打开/etc/rsyslog.conf文件进行编辑。

    sudo nano /etc/rsyslog.conf
    
  2. 配置日志轮转: 在文件中找到或添加以下行来指定日志文件的轮转策略:

    # 每天轮转一次日志,并保留7天的日志
    $SystemLogRateLimitInterval 24h
    $SystemLogRateLimitBurst 500
    $OmitLocalLogging on
    $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
    $IncludeConfig /etc/rsyslog.d/*.conf
    *.* /var/log/syslog
    

    其中,$SystemLogRateLimitInterval$SystemLogRateLimitBurst用于控制日志写入速率,防止日志文件过大。

  3. 配置日志文件的轮转规则: 在/etc/logrotate.d/rsyslog文件中添加或修改以下内容:

    /var/log/syslog {
        daily
        rotate 7
        compress
        delaycompress
        missingok
        notifempty
        create 640 root adm
    }
    

    解释:

    • daily:每天轮转一次日志。
    • rotate 7:保留7天的日志。
    • compress:压缩旧日志文件。
    • delaycompress:延迟压缩,直到下一次轮转。
    • missingok:如果日志文件丢失,不会报错。
    • notifempty:如果日志文件为空,不进行轮转。
    • create 640 root adm:创建新日志文件时的权限和所有者。
  4. 重启rsyslog服务: 使配置生效。

    sudo systemctl restart rsyslog
    

使用syslog-ng

  1. 编辑syslog-ng配置文件: 打开/etc/syslog-ng/syslog-ng.conf文件进行编辑。

    sudo nano /etc/syslog-ng/syslog-ng.conf
    
  2. 配置日志轮转: 在文件中找到或添加以下行来指定日志文件的轮转策略:

    destination d_syslog {
        file("/var/log/syslog" template("${ISODATE} ${HOST} ${LEVEL} ${MESSAGE}\n"));
    };
    
    log {
        source(s_src);
        destination(d_syslog);
        flags(no-parse);
    };
    
  3. 配置日志文件的轮转规则: 在/etc/logrotate.d/syslog-ng文件中添加或修改以下内容:

    /var/log/syslog {
        daily
        rotate 7
        compress
        delaycompress
        missingok
        notifempty
        create 640 root adm
    }
    

    解释与rsyslog相同。

  4. 重启syslog-ng服务: 使配置生效。

    sudo systemctl restart syslog-ng
    

通过以上步骤,你可以根据需要调整Ubuntu系统中syslog日志的轮转策略。

0
看了该问题的人还看了