在Linux系统中,syslog是一个用于记录系统消息的标准服务。为了实现日志分类存储,你可以使用rsyslog或者syslog-ng等工具。下面是使用rsyslog进行日志分类存储的方法:
安装rsyslog(如果尚未安装): 对于基于Debian的系统(如Ubuntu),使用以下命令:
sudo apt-get update
sudo apt-get install rsyslog
对于基于RPM的系统(如CentOS、Fedora),使用以下命令:
sudo yum install rsyslog
配置rsyslog:
编辑rsyslog配置文件,通常位于/etc/rsyslog.conf。你也可以在/etc/rsyslog.d/目录下创建新的配置文件,例如/etc/rsyslog.d/50-default.conf。
在配置文件中,为不同类型的日志创建规则。例如,你可以将内核消息、本地系统消息和远程系统消息分别存储在不同的文件中。以下是一个示例配置:
# 将内核消息(kern)存储到/var/log/kern.log
kern.* /var/log/kern.log
# 将本地系统消息(auth, authpriv)存储到/var/log/auth.log
auth,authpriv.* /var/log/auth.log
# 将本地系统消息(cron)存储到/var/log/cron.log
cron.* /var/log/cron.log
# 将本地系统消息(daemon)存储到/var/log/daemon.log
daemon.* /var/log/daemon.log
# 将本地系统消息(local0-local7)存储到/var/log/messages
local0.* /var/log/messages
local1.* /var/log/local1.log
local2.* /var/log/local2.log
local3.* /var/log/local3.log
local4.* /var/log/local4.log
local5.* /var/log/local5.log
local6.* /var/log/local6.log
local7.* /var/log/local7.log
保存配置文件并重启rsyslog服务以应用更改:
sudo systemctl restart rsyslog
现在,rsyslog将根据配置文件中的规则将不同类型的日志存储到不同的文件中。你可以根据需要自定义这些规则以满足你的需求。