在Debian系統中,syslog日志的保留期限可以通過修改rsyslog
或syslog-ng
的配置文件來實現。以下是針對這兩種服務的設置方法:
編輯rsyslog配置文件:
打開/etc/rsyslog.conf
文件,或者如果你使用的是Debian 10或更高版本,可能需要編輯/etc/rsyslog.d/50-default.conf
文件。
sudo nano /etc/rsyslog.d/50-default.conf
設置日志保留策略: 在配置文件中找到或添加以下行來設置日志保留期限:
# 設置日志文件的最大大?。ɡ?,10MB)
$SystemLogRateLimitInterval 60
$SystemLogRateLimitBurst 10
# 設置日志文件的保留期限(例如,30天)
$OmitLocalLogging on
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup adm
$SystemLogFacility local0
$SystemLogSeverity info
$SystemLogIdent rsyslogd
$SystemLogFacility local1
$SystemLogSeverity notice
$SystemLogFacility local2
$SystemLogSeverity warning
$SystemLogFacility local3
$SystemLogSeverity err
$SystemLogFacility local4
$SystemLogSeverity crit
$SystemLogFacility local5
$SystemLogSeverity alert
$SystemLogFacility local6
$SystemLogSeverity emerg
$SystemLogFacility local7
$SystemLogSeverity debug
$SystemLogRateLimitInterval 60
$SystemLogRateLimitBurst 10
$OmitLocalLogging on
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup adm
$SystemLogFacility local0
$SystemLogSeverity info
$SystemLogIdent rsyslogd
$SystemLogFacility local1
$SystemLogSeverity notice
$SystemLogFacility local2
$SystemLogSeverity warning
$SystemLogFacility local3
$SystemLogSeverity err
$SystemLogFacility local4
$SystemLogSeverity crit
$SystemLogFacility local5
$SystemLogSeverity alert
$SystemLogFacility local6
$SystemLogSeverity emerg
$SystemLogFacility local7
$SystemLogSeverity debug
注意:上述配置中的$OmitLocalLogging on
和$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
是為了啟用日志輪轉。你可以根據需要調整這些設置。
配置日志輪轉:
編輯/etc/logrotate.d/rsyslog
文件來設置日志文件的輪轉策略。
sudo nano /etc/logrotate.d/rsyslog
添加或修改以下內容:
/var/log/syslog {
rotate 30
daily
missingok
notifempty
compress
delaycompress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
這里的rotate 30
表示保留30天的日志文件。
重啟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"));
};
log {
source(s_src);
destination(d_syslog);
flags(final);
};
配置日志輪轉:
編輯/etc/logrotate.d/syslog-ng
文件來設置日志文件的輪轉策略。
sudo nano /etc/logrotate.d/syslog-ng
添加或修改以下內容:
/var/log/syslog {
rotate 30
daily
missingok
notifempty
compress
delaycompress
postrotate
invoke-rc.d syslog-ng rotate > /dev/null
endscript
}
重啟syslog-ng服務: 保存并關閉文件后,重啟syslog-ng服務以應用更改。
sudo systemctl restart syslog-ng
通過以上步驟,你可以成功設置Debian系統中syslog日志的保留期限。