简单的说日志文件就是记录系统活动信息的几个文件,例如:何时、何地(来源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. 辛星浅谈PHP的混乱的编码风格

    我们都知道.各种编程语言都有自己的风格,即使是像C和C++那样一脉相承的语言(C++本意全然兼容C的语法).编程风格上还是有些区别.比方非常典型的就是C++风格的单行凝视和C风格的多行凝视. 而尽管J ...

  2. Codeforces Round #268 (Div. 1) A. 24 Game 构造

    A. 24 Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/468/problem/A D ...

  3. interactive_timeout和wait_timeout(

    mysql> show variables like "%timeout%"; +-----------------------------+----------+ | Va ...

  4. Maven项目中如何添加日志

  5. js用斜率判断鼠标进入div的四个方向

    网上大部分判断鼠标移入div移入移出都是使用一下方法: 这个方法确实十分奇特,使用起来十分方便. 后来自己看了一些文章,看到有另一种以斜率的方法来判断鼠标的移动方向. 上图是此方法的示意图,以浏览器左 ...

  6. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  7. TextView设置动态改变颜色

    通过TextView的setTextColor方法进行文本颜色的设置, 这里可以有3种方式进行设置: 第1种:tv.setTextColor(android.graphics.Color.RED);/ ...

  8. supervisor tornado 多进程多端口配置

    base: nginx tornado 目标: tornado 实现多端口多进程运行 pip install supervisor echo_supervisord_conf > /etc/su ...

  9. MAC上安装Homebrew、Nginx、PHP、MySQL

    准备工作 新版的 Mac OS 内置了Apache 和 PHP,可以通过以下命令查看Apache和PHP的版本号: # httpd -v # php -v 安装Homebrew Mac下的Homebr ...

  10. Java系统程序员修炼之道

    一:Java语言学习 对线程(thread),串行化,反射,网络编程,JNI技术,容器(Map,List, Iterator), 类加载器 (ClassLoader),输入输出流,垃圾回收机制, 有比 ...