Debian系統(tǒng)中的日志輪轉(zhuǎn)機(jī)制通常由rsyslog或syslog-ng服務(wù)管理。本文將分別介紹如何配置這兩種服務(wù)以實現(xiàn)日志輪轉(zhuǎn)。
一、使用rsyslog配置日志輪轉(zhuǎn)
-
安裝rsyslog (如果未安裝):
sudo apt update sudo apt install rsyslog
-
配置rsyslog:
- 編輯/etc/rsyslog.conf文件,或創(chuàng)建一個新的配置文件并將其包含在/etc/rsyslog.d/目錄下。
- 確保配置文件包含以下行,以啟用日志輪轉(zhuǎn)功能:
$ModLoad imuxsock # 本地系統(tǒng)日志支持 $ModLoad imklog # 內(nèi)核日志支持 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $IncludeConfig /etc/rsyslog.d/*.conf
-
配置日志輪轉(zhuǎn)策略:
- 編輯/etc/logrotate.d/rsyslog文件,或在/etc/logrotate.d/目錄下創(chuàng)建新的配置文件。
- 以下是一個示例配置:
/var/log/syslog { rotate 7 # 保留7個日志文件 daily # 每天輪轉(zhuǎn) missingok # 日志文件丟失時不報錯 notifempty # 日志文件為空時不輪轉(zhuǎn) compress # 壓縮舊日志 delaycompress # 延遲壓縮,直到下次輪轉(zhuǎn) postrotate /usr/lib/rsyslog/rsyslog-rotate # 輪轉(zhuǎn)后執(zhí)行的命令,重新加載rsyslog endscript }
-
測試配置:
sudo logrotate -d /etc/logrotate.d/rsyslog # -d 參數(shù)為測試模式,不實際執(zhí)行輪轉(zhuǎn)
二、使用syslog-ng配置日志輪轉(zhuǎn)
-
安裝syslog-ng (如果未安裝):
sudo apt update sudo apt install syslog-ng
-
配置syslog-ng:
-
編輯/etc/syslog-ng/syslog-ng.conf文件。
-
確保配置文件包含必要的日志接收和輸出配置,例如:
source s_network { udp(ip(0.0.0.0) port(514)); tcp(ip(0.0.0.0) port(514)); }; destination d_syslog { file("/var/log/syslog" template("${ISODATE} ${HOST} ${LEVEL} ${MESSAGE}n")); }; log { source(s_network); destination(d_syslog); };
-
-
配置日志輪轉(zhuǎn)策略:
- 編輯/etc/logrotate.d/syslog-ng文件,或在/etc/logrotate.d/目錄下創(chuàng)建新的配置文件。
- 以下是一個示例配置:
/var/log/syslog { rotate 7 daily missingok notifempty compress delaycompress postrotate /usr/sbin/syslog-ng -F -f /etc/syslog-ng/syslog-ng.conf # 輪轉(zhuǎn)后重新加載syslog-ng endscript }
-
測試配置:
sudo logrotate -d /etc/logrotate.d/syslog-ng # -d 參數(shù)為測試模式
通過以上步驟,您可以根據(jù)系統(tǒng)實際情況選擇rsyslog或syslog-ng,并配置其日志輪轉(zhuǎn)策略。 記得將-d參數(shù)移除以進(jìn)行實際的日志輪轉(zhuǎn)。 建議在修改配置文件后,重啟相應(yīng)的日志服務(wù)以使配置生效。