linux 日志管理

Posted bamboo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 日志管理相关的知识,希望对你有一定的参考价值。

linux 日志管理

linux日志文件是重要的系统信息文件,其中记录了包括用户登录信息,系统启动信息,系统安全信息,邮件相关信息等各种服务相关信息在内的重要系统事件。

1. 系统关键日志

  • /var/log/boot.log 系统启动日志
  • /var/log/cron.log 记录系统定时任务相关的日志
  • /var/log/lasllog 记录系统中所有用户最后一次登陆信息,文件以二进制流存储,需要使用lasllog命令查看
  • /var/log/mailog 记录邮件信息的日志
  • /var/log/message 记录系统中绝大多数重要信息。
  • /var/log/secure 记录验证和授权方面的信息
  • /var/log/ulmp 记录当前用户的登陆信息,该日志需要使用who,users等命令查看

2. 日志管理

  • 日志管理服务 rsyslogd

    1.查询日志服务是否启动
    ps -aux | grep rsyslogd
    
    2.查询日志服务的自启动状态
    systemctl list-unit-files | grep rsyslog


  • 例如开启定时任务管理日志

    1.编辑 /etc/rsyslog.d/50-default.conf 日志
    将 #cron.* /var/log/cron.log 前面的#去掉,保存退出
    
    2.重新启动 rsyslog
    service rsyslog restart


  • 日志配置文件 /etc/rsyslog.conf

    1. 编辑配置文件的格式为 *.*    存放位置 ,第一个*代表日志类型,第二个*代表日志级别。

    2. 日志类型分为:

      • auth ##pam产生的日志
      • authpriv ##ssh、ftp等登录请求的验证信息
      • cron ##时间任务相关
      • kern ##内核
      • mail ##邮件相关
      • user ##用户程序产生的相关信息
        ...


    3. 日志级别分为:debug、info、notice、warning、err、crit、alert、emerg、none

      例如:
      cron.*    /var/log/cron.log
      kern.*    /var/log/kern.log
      mail.err    /var/log/mail.err


3. 日志轮替

  • 使用logrotate进行日志管理,配置文件为/etc/logrotate.conf

  • 当配置文件中有“dateext”参数时,日志会以日期作为命名格式,且不需要改名。

  • 当配置文件中没有配置“dateext”参数时,日志文件就需要改名。例如当第一次日志轮替时,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志;当第二次日志轮替时,“secure.1”会改名为“secure.2”,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志,用以保存日志,以此类推。

  • /etc/logrotate.conf 简略分析

    # rotate log files weekly 每周对日志文件进行一次轮替
    weekly
    
    # keep 4 weeks worth of backlogs 共保存4份日志文件
    rotate 4
    
    # create new (empty) log files after rotating old ones 创建新的空日志文件,在日志轮替后
    create
    
    #使用日期作为日志轮替文件的后缀
    dateext
    
    # uncomment this if you want your log files compressed 旧日志文件是否压缩
    #compress
    
    # packages drop log rotation information into this directory

以上是关于linux 日志管理的主要内容,如果未能解决你的问题,请参考以下文章

执行代码时有时不显示对话框片段

Linux实操篇—— 日志管理

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

linux 日志管理

Linux学习之日志管理(二十一)

Linux 日志管理