首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >在 Linux 中管理日志操作命令

在 Linux 中管理日志操作命令

原创
作者头像
用户8989785
修改2021-09-09 14:44:45
修改2021-09-09 14:44:45
1.8K0
举报
文章被收录于专栏:网站技术分享网站技术分享

在 Linux 系统上管理日志文件可能非常容易,也可能非常痛苦。这完全取决于你所认为的日志管理是什么。

如果你认为是如何确保日志文件不会耗尽你的 Linux 服务器上的所有磁盘空间,那么这个问题通常很简单。Linux 系统上的日志文件会自动翻转,系统将只维护固定数量的翻转日志。即便如此,一眼看去一组上百个文件可能会让人不知所措。在这篇文章中,我们将看看日志轮换是如何工作的,以及一些最相关的日志文件。

自动日志轮换

日志文件是经常轮转的。当前的日志会获得稍微不同的文件名,并建立一个新的日志文件。以系统日志文件为例。对于许多正常的系统 messages 文件来说,这个文件是一个包罗万象的东西。如果你 cd 转到 /var/log 并查看一下,你可能会看到一系列系统日志文件,如下所示:

代码语言:javascript
复制
$ ls -l syslog*-rw-r----- 1 syslog adm 28996 Jul 30 07:40 syslog-rw-r----- 1 syslog adm 71212 Jul 30 00:00 syslog.1-rw-r----- 1 syslog adm  5449 Jul 29 00:00 syslog.2.gz-rw-r----- 1 syslog adm  6152 Jul 28 00:00 syslog.3.gz-rw-r----- 1 syslog adm  7031 Jul 27 00:00 syslog.4.gz-rw-r----- 1 syslog adm  5602 Jul 26 00:00 syslog.5.gz-rw-r----- 1 syslog adm  5995 Jul 25 00:00 syslog.6.gz-rw-r----- 1 syslog adm 32924 Jul 24 00:00 syslog.7.gz

轮换发生在每天午夜,旧的日志文件会保留一周,然后删除最早的系统日志文件。syslog.7.gz 文件将被从系统中删除,syslog.6.gz 将被重命名为 syslog.7.gz。日志文件的其余部分将依次改名,直到 syslog 变成 syslog.1 并创建一个新的 syslog 文件。有些系统日志文件会比其他文件大,但是一般来说,没有一个文件可能会变得非常大,并且你永远不会看到超过八个的文件。这给了你一个多星期的时间来回顾它们收集的任何数据。

某种特定日志文件维护的文件数量取决于日志文件本身。有些文件可能有 13 个。请注意 syslogdpkg 的旧文件是如何压缩以节省空间的。这里的考虑是你对最近的日志最感兴趣,而更旧的日志可以根据需要用 gunzip 解压。

代码语言:javascript
复制
# ls -t dpkg*dpkg.log       dpkg.log.3.gz  dpkg.log.6.gz  dpkg.log.9.gz   dpkg.log.12.gzdpkg.log.1     dpkg.log.4.gz  dpkg.log.7.gz  dpkg.log.10.gzdpkg.log.2.gz  dpkg.log.5.gz  dpkg.log.8.gz  dpkg.log.11.gz

日志文件可以根据时间和大小进行轮换。检查日志文件时请记住这一点。

尽管默认值适用于大多数 Linux 系统管理员,但如果你愿意,可以对日志文件轮换进行不同的配置。查看这些文件,如 /etc/rsyslog.conf/etc/logrotate.conf

使用日志文件

对日志文件的管理也包括时不时的使用它们。使用日志文件的第一步可能包括:习惯每个日志文件可以告诉你有关系统如何工作以及系统可能会遇到哪些问题。从头到尾读取日志文件几乎不是一个好的选择,但是当你想了解你的系统运行的情况或者需要跟踪一个问题时,知道如何从日志文件中获取信息会是有很大的好处。这也表明你对每个文件中存储的信息有一个大致的了解了。例如:

代码语言:javascript
复制
$ who wtmp | tail -10           显示最近的登录信息$ who wtmp | grep shark         显示特定用户的最近登录信息$ grep "sudo:" auth.log         查看谁在使用 sudo$ tail dmesg                    查看(最近的)内核日志$ tail dpkg.log                 查看最近安装和更新的软件包$ more ufw.log                  查看防火墙活动(假如你使用 ufw)

你运行的一些命令也会从日志文件中提取信息。例如,如果你想查看系统重新启动的列表,可以使用如下命令:

代码语言:javascript
复制
$ last rebootreboot   system boot  5.0.0-20-generic Tue Jul 16 13:19   still runningreboot   system boot  5.0.0-15-generic Sat May 18 17:26 - 15:19 (21+21:52)reboot   system boot  5.0.0-13-generic Mon Apr 29 10:55 - 15:34 (18+04:39)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动日志轮换
  • 使用日志文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档