在Debian系统中,Syslog日志轮转机制主要通过rsyslog或syslog-ng服务来实现。以下是详细的介绍和配置步骤:
rsyslog进行日志轮转安装rsyslog(如果尚未安装):
sudo apt update sudo apt install rsyslog 配置rsyslog:
/etc/rsyslog.conf 文件,或者创建一个新的配置文件(例如 /etc/rsyslog.d/50-default.conf)。手动配置日志轮转:
/etc/logrotate.d/rsyslog 文件。/var/log/syslog { rotate 7 daily missingok notifempty compress delaycompress postrotate if [ -f /var/run/syslogd.pid ]; then kill -HUP `cat /var/run/syslogd.pid` fi endscript } rotate 7:保留最近7天的日志文件。daily:每天轮转一次日志文件。missingok:如果日志文件丢失,不会报错。notifempty:如果日志文件为空,则不轮转。compress:压缩旧的日志文件。delaycompress:延迟压缩,直到下一次轮转。postrotate:在轮转后执行的脚本,这里用于重新加载rsyslog服务。测试配置:
sudo logrotate -f /etc/logrotate.d/rsyslog 这将强制重新轮转日志文件,并应用新的配置。
syslog-ng进行日志轮转安装syslog-ng(如果尚未安装):
sudo apt update sudo apt install syslog-ng 配置syslog-ng:
/etc/syslog-ng/syslog-ng.conf 文件。手动配置日志轮转:
/etc/logrotate.d/syslog-ng 文件。/var/log/syslog-ng/*.log { rotate 7 daily missingok notifempty compress delaycompress postrotate /usr/sbin/syslog-ng -F -f /etc/syslog-ng/syslog-ng.conf endscript } rotate 7:保留最近7天的日志文件。daily:每天轮转一次日志文件。missingok:如果日志文件丢失,不会报错。notifempty:如果日志文件为空,则不轮转。compress:压缩旧的日志文件。delaycompress:延迟压缩,直到下一次轮转。postrotate:在轮转后执行的命令,通常是重新加载syslog-ng服务。测试配置:
sudo logrotate -f /etc/logrotate.d/syslog-ng 这将强制重新轮转日志文件,并应用新的配置。
syslog 日志的轮转。