每日速递:linux日志文件有几种类型

时间:2023-02-13 18:10:37       来源:PHP中文网

本教程操作环境:linux7.3系统、Dell G3电脑。


(资料图片仅供参考)

在Linux系统中,拥有非常灵活和强大的日志功能,它几乎可以保存所有的操作记录,还可以检索出我们需要的信息。不仅如此,Linux系统日志还可以帮助我们解决各种各样的问题。

Linux系统日志分为哪几种类型?

Linux 系统日志主要有三种类型:分别是 内核及系统日志、用户日志、程序日志。

1、内核及系统日志:

这种日志数据由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式。

2、用户日志

这种日志数据用于记录 Linux 操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

3、程序日志:

有些应用程序会选择由自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息,而不是交给 rsyslog 服务管理。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。

Linux常见日志文件及其功能

日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。这些信息有些非常敏感,所以在 Linux 中这些日志文件只有 root 用户可以读取。

那么,系统日志文件保存在什么地方呢?还记得 /var/ 目录吗?它是用来保存系统动态数据的目录,那么 /var/log/ 目录就是系统日志文件的保存位置。我们通过表 1 来说明一下系统中的重要日志文件。

表 1 系统中的重要日志文件
日志文件说 明
/var/log/cron记录与系统定时任务相关的曰志
/var/log/cups/记录打印信息的曰志
/var/log/dmesg记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下:[root@localhost log]#lastbroot tty1 Tue Jun 4 22:38 - 22:38 (00:00)#有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误
/var/log/lasllog记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/Iog/mailog记录邮件信息的曰志
/var/log/messages它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出。
/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

除系统默认的日志之外,采用 RPM 包方式安装的系统服务也会默认把日志记录在 /var/log/ 目录中(源码包安装的服务日志存放在源码包指定的目录中)。不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身的日志。以下介绍的日志目录在你的 Linux 上不一定存在,只有安装了相应的服务,日志才会出现。服务日志如表 2 所示。

表 2 服务日志
日志文件说明
/var/log/httpd/RPM包安装的apache取务的默认日志目录
/var/log/mail/RPM包安装的邮件服务的额外日志因录
/var/log/samba/RPM色安装的Samba服务的日志目录
/var/log/sssd/守护进程安全服务目录

怎么查看系统日志状态

我们使用 ps 命令,查看日志服务 rsyslog 的状态。系统中的绝大多数日志文件是由 rsyslogd 服务来统一管理的,只要各个进程将信息给予这个服务,它就会自动地把日志按照特定的格式记录到不同的日志文件中。也就是说,采用 rsyslogd 服务管理的日志文件,它们的格式应该是统一的。

语法

ps aux | grep "rsyslog" | grep -v "grep"
登录后复制

在 Linux 系统中有一部分日志不是由 rsyslogd 服务来管理的,比如 apache 服务,它的日志是由 Apache 软件自己产生并记录的,并没有调用 rsyslogd 服务。但是为了便于读取,apache 日志文件的格式和系统默认日志的格式是一致的。

案例

我们使用 ps 命令,查看系统日志服务状态,具体命令如下:

我们看到,我们使用了 ps 命令查看了系统日志 rsyslog 的服务状态。

相关推荐:《Linux视频教程》

以上就是linux日志文件有几种类型的详细内容,更多请关注php中文网其它相关文章!

关键词: 系统日志 这个文件 二进制文件