在Debian系统中,日志设置可以通过修改系统日志服务(如rsyslog或syslog-ng)的配置文件来实现。以下是具体的步骤:
/etc/rsyslog.conf
文件。sudo nano /etc/rsyslog.conf
*.*;auth,authpriv.none -/var/log/syslog
auth,authpriv.* /var/log/auth.log
cron.* /var/log/cron.log
daemon.* /var/log/daemon.log
kern.* /var/log/kern.log
lpr.* /var/log/lpr.log
mail.* /var/log/mail.log
user.* /var/log/user.log
news.* /var/log/news.log
uucp.* /var/log/uucp.log
authpriv.* /var/log/secure
cron.* /var/log/cron.log
local7.* /var/log/boot.log
authpriv.*
更改为所需的日志级别,例如:authpriv.err /var/log/secure
sudo systemctl restart rsyslog
imfile
,它用于监控文件的变化并触发日志轮转。确保以下行没有被注释掉:module(load="imfile" PollingInterval="10")
/etc/rsyslog.d/
目录下创建一个新的配置文件,例如 50-default.conf
,并添加以下内容:if $programname == 'your_application_name' then /var/log/your_application.log& stop
这将把特定应用程序的日志写入指定的文件,并停止进一步处理。sudo logrotate -f /etc/rsyslog.conf
/etc/syslog-ng/syslog-ng.conf
文件。sudo nano /etc/syslog-ng/syslog-ng.conf
destination d_all { file("/var/log/syslog"); };
filter f_all { level(info..emerg); };
log { source(s_src); destination(d_all); filter(f_all); };
sudo systemctl restart syslog-ng
sudo apt-get update
sudo apt-get install logrotate
/etc/logrotate.conf
。但是,大多数系统会使用 /etc/logrotate.d/
目录下的特定配置文件来管理不同服务的日志轮转。ls /etc/logrotate.d/
/etc/logrotate.d/apache2
:sudo nano /etc/logrotate.d/apache2
/var/log/apache2/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
}
sudo logrotate -f /etc/logrotate.conf
/etc/cron.daily/logrotate
脚本来确保它正在运行。ls -l /var/log/apache2/*.log*