linux学习(十一)鸟叔第18章:日志文件

1 日志文件相关介绍

        日志文件会记录系统上的错误,网络服务的错误,也是过往事件的记录本,查阅日志文件可以帮助我们解决这些问题。

一些常用的文件

  • /var/log/boot.log:记录硬件和启动内核支持的各项功能的检测
  • /var/log/cron:记录crontab的执行情况
  • /var/log/dmesg:记录内核检测信息
  • /var/log/maillog或/var/log/mail/*:邮件往来信息
  • /var/log/messages:记录几乎所有系统发生的错误信息

相关的服务与程序:

  • systemd-journald.service:最主要的信息记录者,有systemd提供
  • rsyslog.service:主要收集登录系统与网络服务的信息
  • logrotate:轮循(下一节重点介绍)

        systemd-journald.service主要将记录放在内存里读取很快,他会以二进制的形式记录再将信息发送给rsyslog.service进一步记录。我们可以用systemd提供的journalctl以及systemctl status unit.service直接查看各个服务的日志文件,不需要到messages里大海捞针。

2 日志文件的一般格式

        日志文件会记录when,who,how,what,什么时间谁用什么函数或者服务做了什么。作为日志服务的配置文件/etc/rsyslog.conf规定了,什么服务的什么等级信息会被记录在哪里。

服务名称[.=!none*]信息等级                 信息记录的文件名或者主机
.代表信息等级等于或更严重都会记录
.=代表信息等级等于的会被记录
.*代表全部都会被记录
.!代表不等于的会被记录
.none代表都不会记录

例:
mail.info              /var/log/mail_info
mail.*                 /var/log/mail_all
*.*;mail.none          /var/log/except_mail_all
*.*;mail.none,cron.none   /var/log/except_mail_and_cron_all

注意逗号和分号区别

        上面的内容是在文件/etc/rsyslog.conf中修改,如果文件名前出现了-代表,产生的日志信息会先存在缓冲区,等到所有数据生成完一起存入磁盘。

        而且,当需要自己加日志服务功能时,也直接在rsyslog.conf中加入即可。

还有一个很重要的文件/var/log/messages,这个文件一般是会用chattr加入隐藏属性a,使其只能增加不能删除,防止有心之人将其删除,而且不可以轮循了。但是如果我们用vim编辑过messages后一定要重新启动一下rsyslog.servicef服务否则,改文件不会再记录。

3 轮循 logrotate

         轮循就是将现有的日志文件重新命名来做备份,然后重新建立一个新的空文件来记录信息。

         logrotate的配置文件在:

  • /etc/logrotate.conf
  • /etc/logrotate.d/

        最主要的配置文件是logrotate.conf,.d的文件只是会在conf中被调用,相当于防止文件过于复杂而分出来的文件。

        logrotate.conf配置文件的语法如下:

日志文件绝对路径或者文件名  {

        参数设置,如monthly,compress

        sharedscripts
        prerotate
                轮循前命令,一般是改变文件的权限
        endscript
        sharedscripts
        postrotate
                轮循后的命令,一般是重启服务,将文件权限改回去
        endscript

}

4 systemd-journald.service

        systemd是由内核唤起的所以,  systemd-journald可以记录和管理这次启动后的登录信息,而之前说的rsyslogd可以记录以前以及现在所有的数据到硬盘中,方便未来查询。

        可以使用journalctl来查看登陆信息。logwatch会每天将日志文件分析以mail形式发送个root。logwatch挂载cron的执行列表中,安装后需要/etc/cron.daily/0logwatch这个脚本文件会启动 【/usr/sbin/logwatch --output mail】。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值