常用Linux日志文件的名称和用法

如果您在Linux环境中花费大量时间,则必须知道日志文件的位置以及每个日志文件中包含的内容。 大日志文件300x257

当系统运行平稳时,请花一些时间来学习和理解各种日志文件的内容,这将在出现危机时为您提供帮助,并且您必须查看日志文件以找出问题所在。

/etc/rsyslog.conf控制某些日志文件中的内容。 例如,以下是rsyslog.conf/ var / log / messages的条目。

$ grep "/var/log/messages" /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none               
/var/log/messages

在上面的输出中,

  • * .info表示将记录所有类型为INFO的日志。
  • mail.none,authpriv.none,cron.none指示这些错误消息不应记录到/ var / log / messages文件中。
  • 您还可以指定* .none,这表示将不记录任何日志消息。

以下是/ var / log /目录下的20个不同的日志文件。 其中一些日志文件是特定于分发的。 例如,您将在基于Debian的系统上(例如,在Ubuntu上)看到dpkg.log

  1. / var / log / messages –包含全局系统消息,包括系统启动期间记录的消息。 在/ var / log / messages中记录了几件事,包括mail,cron,daemon,kern,auth等。
  2. / var / log / dmesg –包含内核环形缓冲区信息。 系统启动时,它将在屏幕上打印一些消息,以显示有关内核在引导过程中检测到的硬件设备的信息。 这些消息在内核环形缓冲区中可用,并且每当新消息到来时,旧消息就会被覆盖。 您也可以使用dmesg命令查看此文件的内容。
  3. /var/log/auth.log –包含系统授权信息,包括使用的用户登录名和身份验证机制。
  4. /var/log/boot.log –包含系统启动时记录的信息
  5. /var/log/daemon.log –包含由系统上运行的各种后台守护程序记录的信息
  6. /var/log/dpkg.log –包含使用dpkg命令安装或删除软件包时记录的信息
  7. /var/log/kern.log –包含内核记录的信息。 帮助您解决定制内核的问题。
  8. / var / log / lastlog –显示所有用户的最新登录信息。 这不是一个ascii文件。 您应该使用lastlog命令查看此文件的内容。
  9. / var / log / maillog /var/log/mail.log –包含来自系统上运行的邮件服务器的日志信息。 例如,sendmail将有关所有已发送项目的信息记录到此文件中
  10. /var/log/user.log –包含有关所有用户级别日志的信息
  11. /var/log/Xorg.x.log –记录来自X的消息
  12. /var/log/alternatives.log –更新替代方法的信息记录到此日志文件中。 在Ubuntu上,update-alternatives维护确定默认命令的符号链接。
  13. / var / log / btmplastb命令;显示所有错误的登录尝试) / var / log / wtmp (显示自创建文件以来所有已登录和退出的用户… 最后一个命令;尝试登录)–此文件包含有关登录失败的信息尝试。 使用最后一个命令查看btmp文件。 例如,“ last -f / var / log / btmp | 更多
  14. / var / log / cups –所有与打印机和打印相关的日志消息
  15. /var/log/anaconda.log –安装Linux时,所有与安装相关的消息都存储在此日志文件中
  16. /var/log/yum.log –包含使用yum安装软件包时记录的信息
  17. / var / log / cron –每当cron守护程序(或anacron)启动cron作业时,它将在该文件中记录有关cron作业的信息
  18. / var / log / secure –包含与身份验证和授权特权有关的信息。 例如,sshd将所有消息记录在这里,包括登录失败。
  19. / var / log / wtmp/ var / log / utmp –包含登录记录。 使用wtmp可以找出谁登录了系统。 who命令使用此文件显示信息。
  20. / var / log / faillog-包含用户失败的登录尝试次数。 使用faillog命令显示此文件的内容。

除了上述日志文件以外, / var / log目录还可能包含以下子目录,具体取决于系统上运行的应用程序。

  • / var / log / httpd / (或) / var / log / apache2 –包含apache Web服务器access_logerror_log
  • / var / log / lighttpd / -包含简单的HTTPD access_logerror_log
  • / var / log / conman / – ConMan客户端的日志文件。 conman连接由conmand守护程序管理的远程控制台。
  • / var / log / mail / –此子目录包含来自邮件服务器的其他日志。 例如,sendmail将收集的邮件统计信息存储在/ var / log / mail / statistics文件中
  • / var / log / prelink / –预链接程序修改共享库和链接的二进制文件以加快启动过程。 /var/log/prelink/prelink.log包含有关由预链接修改的.so文件的信息。
  • / var / log / audit / –包含Linux审核守护程序( auditd )存储的日志信息。
  • / var / log / setroubleshoot / – SELinux使用setroubleshootd(SE故障排除后台程序)来通知文件安全上下文中的问题,并将这些信息记录在此日志文件中。
  • / var / log / samba / –包含samba存储的日志信息,该信息用于将Windows连接到Linux。
  • / var / log / sa / –包含sysstat软件包收集的每日sar文件。
  • / var / log / sssd / –由系统安全服务守护程序使用,该守护程序管理对远程目录和身份验证机制的访问。

查看大量日志文件以解决问题是系统管理员和程序员的日常工作。 在本文中,让我们回顾如何使用10个很棒的示例来有效地查看和操作大型日志文件。

示例1:使用sed命令显示文件的特定行(基于行号)

仅查看行号提及的特定行。

Syntax: $ sed -n -e Xp -e Yp FILENAME
  • sed:sed命令,默认情况下将打印所有行。
  • -n:抑制输出。
  • -e CMD:要执行的命令
  • Xp:打印行号X
  • Yp:打印行号Y
  • FILENAME:要处理的文件名。

下面提到的示例将从syslog打印行120、145、1050。

$ sed -n -e 120p -e 145p -e 1050p /var/log/syslog

在以下示例中,您可以从行号101到110查看var / log / cron的内容。

  • M –起始行号
  • N –结束行号
Syntax: sed -n M,Np FILENAME

$ sed -n 101,110p /var/log/cron

示例2:使用head命令显示文件的前N行

本示例仅显示/ var / log / maillog文件的前15行。 将15更改为10以显示日志文件的前10行。

语法: head -n N FILENAME

$ head -n 15 /var/log/maillog

示例3:使用head命令忽略文件的最后N行

本示例说明如何忽略最后N行,并仅显示文件顶部的其余行。 以下示例将显示/ var / log / secure的所有行,但最后250行除外。

Syntax: head -n -N FILENAME

$ head -n -250 /var/log/secure

示例4:使用tail命令显示文件的最后N行

本示例仅显示/ var / log / messages文件的最后50行。 将50更改为100,以显示日志文件的最后100行。

Syntax: tail -n N FILENAME

$ tail -n 50 /var/log/messages

示例5:使用tail命令忽略文件的前N-1行

本示例说明如何忽略前N-1行,仅显示其余行。 以下示例忽略了/etc/xinetd.conf的前四行,该行仅包含注释。

Syntax: tail -n +N FILENAME

$ tail -n +5 /etc/xinetd.conf 

 

defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success          = HOST PID
        log_on_failure          = HOST
        cps                     = 25 30
}
includedir /etc/xinetd.d

示例6:使用tail命令实时查看增长的日志文件

这可能是sysadmins最常用的命令之一。要查看不断增长的日志文件并仅查看较新的内容,请使用tail -f ,如下所示。以下示例以实际方式显示/ var / log / syslog命令的内容时间。

Syntax: tail -f FILENAME

$ tail -f /var/log/syslog

示例7:使用head和tail命令显示文件的特定行(基于行号)

下面的示例将显示/var/log/anaconda.log文件的行号101 – 110

  • M –起始行号
  • N –结束行号
Syntax: cat file | tail -n +N | head -n (M-N+1)

$ cat /var/log/anaconda.log | tail -n +101 | head -n
10
  • cat:将整个文件打印到标准输出。
  • tail -n +101:忽略直到给定行号的行,然后在给定行号之后开始打印行。
  • head -n 10:打印前10行,即101到110,并忽略其余行。

示例8:显示与模式匹配的行,以及匹配之后的几行。

以下示例显示了与/ var / log / dmesg中的“ Initializing CPU ”相匹配的行以及此匹配后的5行。

# grep "Initializing CPU#1" /var/log/dmesg
Initializing CPU#1 

 

[Note: The above shows only the line matching the
pattern]

# grep -A 5 "Initializing CPU#1" dmesg

 

Initializing CPU#1
Calibrating delay using timer specific routine.. 3989.96 BogoMIPS
(lpj=1994982)
CPU: After generic identify, caps: bfebfbff 20100000 00000000
00000000
CPU: After vendor identify, caps:  bfebfbff 20100000 00000000
00000000
monitor/mwait feature present.
CPU: L1 I cache: 32K, L1 D cache: 32K

 

[Note: The above shows the line and 5 lines after
the pattern matching]

示例9:显示文件中的特定字节。

以下示例说明了如何显示文件的前40个字节或最后30个字节。

显示syslog中的前40个字节。
$ head -c40 /var/log/syslog
显示syslog中的最后30个字节。
$ tail -c30 /var/log/syslog

示例10:查看压缩的日志文件

在特定时间后,所有系统日志文件都将旋转并压缩。 您可以动态解压缩它,然后将输出通过管道传递到另一个unix命令以查看文件,如下所述。

  • 显示压缩文件的前N行。
    $ zcat file.gz | head -250
  • 显示压缩文件的最后N行。
    $ zcat file.gz | tail -250
  • 忽略压缩文件的最后N行。
    $ zcat file.gz | head -n -250
  • 忽略压缩文件的前N行。
    $ zcat file.gz | tail -n +250
  • 查看与图案匹配的线
    $ zcat file.gz | grep -A2 'error'
  • 查看由行号标识的特定行范围。
    $ zcat file.gz | sed -n -e 45p -e 52p

参考: Coding is Cool博客上来自我们JCG合作伙伴 Saurab Parakh的常见Linux日志文件名称和用法

翻译自: https://www.javacodegeeks.com/2013/12/common-linux-log-files-name-and-usage.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值