简单的说日志文件就是记录系统活动信息的几个文件,例如:何时、何地(来源ip)、何人(什么服务名称)、做了什么操作。换句话说就是:记录系统在什么时候由哪个进程做了什么样的行为时,发生了什么事件等。

日志文件可以帮助我们了解很多系统重要的事件,包括登入者的部分信息,因此日志文件的权限通常设置为仅有root能够读取而已。常见的日志文件有下面几个:

  • /var/log/cron

这个文件记录了系统例行性工作调度的相关信息,如你的crontab调度有没有实际被进行?进行过程中有没有发生错误?/etc/crontab是否编写正确?在这个日志文件内都可以查询。

  • /var/log/dmesg

该文件记录系统在开机时内核检测过程中所产生的各项信息。由于centos默认将开机时内核的硬件检测过程取消显示,因此额外将数据记录在此文件中。

  • /var/log/lastlog

该文件记录了系统上所有帐号最近一次登入系统时的相关信息。lastlog命令就是利用这个文件所记录的信息来显示结果。

  • /var/log/maillog或/var/log/mail/*

该文件或目录记录邮件的来往信息,其实主要记录SMTP和POP3(IMAP)协议提供者所产生的信息。

  • /var/log/messages

该文件几乎记录了系统发生的所有错误信息(或者是重要的信息),所以这个文件相当重要;如果系统发生莫名的错误时,这个文件是必查的日志文件之一。

  • /var/log/secure

基本上,只要牵扯到需要输入帐号密码的软件,当登入时(不管登入正确与否)都会被记录到这个文件中。包括系统的login程序、图形界面登入所使用的gdm程序、su、sudo等程序,还有网络联机的ssh、telnet等程序,登入信息都会被记载在这里。

  • /var/log/wtmp,/var/log/faillog

这两个文件可以记录正确登入系统者的账户信息(wtmp)与错误登入时所使用的账户信息(faillog)。这个文件对追踪一般帐号者的使用行为很有帮助。

  • /var/log/httpd/*,/var/log/news/*,/var/log/samba/*

不同的网络服务会使用它自己的日志文件案来记载它们自己产生的各项信息。上述的目录内则是个别服务所制定的日志文件。

常见的日志文件就是这几个,但是不同的linux distributions中,通常日志文件的文件名不会相同(除了/var/log/messages之外)。所以说,还需要查看linux主机上的日志文件设置数据才能知道自己主机上的日志文件主要的文件名。

日志文件的产生主要有两种方式,一种是由软件开发商自行定义写入的日志文件与相关服务,例如www软件apache就是这样处理的;另一种则是由linux distribution提供的日志文件管理服务来同一管理,只要将信息丢给这个服务后,它会自动分门别类地将各种信息放置到相关的日志文件中去。在centos中提供syslogd这个服务来同一管理日志文件。

除了这个syslogd之外,系统内核也需要额外的登入服务来记录内核产生的各项信息,这个专门记录内核信息的日志文件服务就是klogd。所以,日志文件所需服务主要就是syslogd和klogd这两个。

除了以上两个外还有一个叫logrotate(日志文件轮换)的程序,由于系统产生的信息每天都有,如果任凭日志文件持续记录的话,日志文件容量就会持续增大,这可能导致大文件读写效率不佳的问题,所以,需要对日志文件进行备份与更新。而logrotate就是用来解决这个问题的。

logrotate基本上就是将旧的日志文件更改名称,然后新建一个空白的日志文件,如此一来,新的日志文件将重新开始记录,然后只要将就的日志文件保留一段时间就可达到将日志文件“轮转“的目的。此外,如果旧的记录(大概要保存几个月吧)保存一段时间后没有问题,就可让系统自动删除,避免占掉过多的硬盘空间。

总结:针对日志文件所需的功能,需要的服务与程序有:

  • syslogd       主要记录系统与网络等服务的信息;
  • klogd    主要记录内核产生的各项信息;
  • logrotate           主要进行日志文件的轮替功能。

鸟哥笔记:linux系统日志文件介绍的更多相关文章

  1. 鸟哥的Linux私房菜笔记第四章

    前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...

  2. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  3. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  4. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  5. 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)

    ******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...

  6. 《鸟哥的Linux私房菜》部分章节学习笔记整理

    简介 此笔记为<鸟哥的Linux私房菜·基础学习篇>中部分章节的学习笔记. 目录 0 计算机概论 1 Linux是什么与如何学习 2 主机规划与磁盘分区 3 安装CentOS7.x 4 首 ...

  7. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

  8. Linux学习笔记——基于鸟哥的Linux私房菜

    Linux学习笔记--基于鸟哥的Linux私房菜 ***** ARM与嵌入式linux的入门建议 (1) 学习基本的裸机编程:ARM7或ARM9,理解硬件架构和控制原理 (这一步是绝对的根基) (2) ...

  9. 【鸟哥的Linux私房菜】笔记1

    Linux是什么 从操作系统与cpu架构关系到linux  Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux ...

随机推荐

  1. Android AndroidManifest 清单文件以及权限具体解释

    每一个Android应用都须要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名称是固定的而且放在每一个Android应用的根文件夹下.它定义了该应用对于Android系统来 ...

  2. C#-窗体之间传递参数

    主窗体: ].Value.ToString(); AddRoomTypeFrm AddRoomTypeFrm = new AddRoomTypeFrm(getroomtypeid); AddRoomT ...

  3. js判断一个字符串是否在另一个字符串中存在 indexOf

    使用indexOf来实现.当返回值为-1时表示不存在. 举例: var href = 'www.51qdq.com';alert(href.indexOf('test')); //返回值 -1aler ...

  4. 如何限制input只能输入数字

    在input上增加onkeyup和onafterpaste事件,事件中用正则表达式替换其它字符,测试没有问题. <input type="text" value=" ...

  5. 手机端overflow scroll卡顿的情况

    在容器里设置或者html,body{-webkit-overflow-scrolling: touch;}

  6. IE jquery mouseenter,mouseover超奇葩问题

    做了个项目,结构很简单 <div class="index-main" data-url="./img/index_default.jpg"> &l ...

  7. wcf自身作为宿主的一个小案例

    第一步:创建整个解决方案 service.interface:用于定义服务的契约(所有的类的接口)引用了wcf的核心程序集system.ServiceModel.dll service:用于定义服务类 ...

  8. 二、Socket之UDP异步传输文件

    上一篇文章一.Socket之UDP异步传输文件中,实现了文件的基本传输,但是传输过程中的信息是看不到的,这一篇是对上一篇进行了一些改进,并且可以了解传输的信息(加入了Log),还加入了接收或者拒绝接收 ...

  9. java_实现接口的枚举类

    package ming; interface GenderDoc { void info(); } enum Gender implements GenderDoc { // public stat ...

  10. OpenCms Application dev-ref

    OpenCms Application Overview Before undertaking development, it will be helpful to understand the ba ...