在Linux系统中,设置日志保留期限通常涉及配置rsyslog
或syslog-ng
服务。以下是针对这两种服务的设置方法:
编辑rsyslog配置文件:
打开/etc/rsyslog.conf
或/etc/rsyslog.d/50-default.conf
文件。
sudo nano /etc/rsyslog.conf
配置日志轮转: 在文件中添加或修改以下内容:
# 每天轮转日志文件
$SystemLogRateLimitInterval 24h
# 保留最近30天的日志文件
$SystemLogRotateDays 30
# 保留最近10个日志文件
$SystemLogRotateSize 10M
# 日志文件路径
$SystemLog /var/log/syslog
你可以根据需要调整$SystemLogRotateDays
和$SystemLogRotateSize
的值。
重启rsyslog服务: 保存文件并重启rsyslog服务以应用更改。
sudo systemctl restart rsyslog
编辑syslog-ng配置文件:
打开/etc/syslog-ng/syslog-ng.conf
文件。
sudo nano /etc/syslog-ng/syslog-ng.conf
配置日志轮转: 在文件中添加或修改以下内容:
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天的日志文件。
重启syslog-ng服务: 保存文件并重启syslog-ng服务以应用更改。
sudo systemctl restart syslog-ng
通过以上步骤,你可以有效地设置Linux系统中日志文件的保留期限。