linux

Linux Syslog如何设置日志保留期限

小樊
135
2025-03-22 20:51:10
栏目: 智能运维

在Linux系统中,设置日志保留期限通常涉及配置rsyslogsyslog-ng服务。以下是针对这两种服务的设置方法:

使用rsyslog设置日志保留期限

  1. 编辑rsyslog配置文件: 打开/etc/rsyslog.conf/etc/rsyslog.d/50-default.conf文件。

    sudo nano /etc/rsyslog.conf
    
  2. 配置日志轮转: 在文件中添加或修改以下内容:

    # 每天轮转日志文件
    $SystemLogRateLimitInterval 24h
    
    # 保留最近30天的日志文件
    $SystemLogRotateDays 30
    
    # 保留最近10个日志文件
    $SystemLogRotateSize 10M
    
    # 日志文件路径
    $SystemLog /var/log/syslog
    

    你可以根据需要调整$SystemLogRotateDays$SystemLogRotateSize的值。

  3. 重启rsyslog服务: 保存文件并重启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"));
        rotate(rotate-bytes(10M) rotate-time(24h) keep(30));
    };
    
    source s_network {
        udp(ip(0.0.0.0) port(514));
    };
    
    log {
        source(s_network);
        destination(d_syslog);
    };
    

    在这个例子中,rotate-bytes(10M)表示当日志文件达到10MB时进行轮转,rotate-time(24h)表示每天轮转一次,keep(30)表示保留最近30天的日志文件。

  3. 重启syslog-ng服务: 保存文件并重启syslog-ng服务以应用更改。

    sudo systemctl restart syslog-ng
    

注意事项

通过以上步骤,你可以有效地设置Linux系统中日志文件的保留期限。

0
看了该问题的人还看了