• 8.日志切割


    Linux系统日志

    1.1 日志介绍

    Linux系统内核和许多程序会产生各种错误信,告警,提示信息...

    这些信息都会记录到日志文件中,完成这个过程的程序就是rsyslog。

    rsyslog可以根据日志的类别和优先级将日志保存到不同的文件中。

    rsyslogd处理绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron...
    
    [root@linux-server ~]# ps aux |grep rsyslogd		#默认是启动的
    
    日志配置主文件在 /etc/rsyslog.conf
    

    1.2 常见日志文件

    /var/log/messages #动态查看日志文件的尾部,系统主日志文件
    /var/log/secure   #记录认证、安全的日志
    /var/log/maillog  #跟邮件postfix相关
    /var/log/cron     #crond、at进程产生的日志
    /var/log/dmesg    #和系统启动相关
    /var/log/yum.log       #yum的日志
    /var/log/mysqld.log    #MySQL日志
    /var/log/xferlog       #和访问FTP服务器相关
    /var/log/boot.log      #系统启动过程日志记录存放
    [root@linux-server ~]#w    #当前登录的用户 /var/log/wtmp
    [root@linux-server ~]#last #最近登录的用户 /var/log/btmp
    参数解释
    第一列:用户名。
    第二列:终端位置,/pts/0 (伪终端)意味着从诸如ssh或者telnet的远程链接的用户,
    tty(teletypewriter)意味着直接连接到计算机或者本地链接的用户;
    第三列:登录的ip或者内核
    第四列:开始时间
    第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机);
    [root@linux-server ~]#lastlog 	#所有用户的登录情况 /var/log/lastlog
    

    1.3 日志优先级

    日志级别分为:7种日志级别代号0-7

    0 debug 	#有调试信息的,日志信息最多
    1 info 		#一般信息的日志,最常用
    2 notice 	#最具有重要性的普通条件的信息
    3 warning 	#警告级别
    4 err 	  	#错误级别,阻止某个功能或者模块不能正常工作的信息
    5 crit      #严重级别,阻止整个系统或者整个软件不能工作的信息
    6 alert 	#需要立刻修改的信息
    7 emerg 	#内核崩溃等严重信息
      none  	#什么都不记录
    

    1.4 日志轮转logrotate

    1.什么是日志轮转?

    自动切割日志,可以针对任何日志文件比如:rsyslog日志、Nginx访问或错误日志...

    2.为什么要做日志轮转?

    • 如果没有日志轮转,日志文件会越来越大

    • 如果做了日志轮转将丢弃系统中最旧的日志文件,以节省空间

    • logrotate本身不是系统守护进程,它是通过计划任务crond每天执行

    3.配置日志轮转

    logrotate主配置文件:/etc/logrotate.conf #决定每个日志文件如何轮转

    [root@linux-server ~]# vim /etc/logrotate.conf
    weekly 		#轮转的周期,一周轮转,单位有年,月,日
    rotate 4 	#保留4份
    create 		#轮转后创建新文件
    dateext 	#使用日期作为后缀
    #compress 	#日志轮替时,旧的日志进行压缩
    include /etc/logrotate.d 	#包含该目录下的配置文件,会引用该目录下面配置的文件
    
    /var/log/wtmp { 			#对该日志文件设置轮转的方法
    monthly 					#一月轮转一次
    minsize 1M 					#最小达到1M才轮转,否则就算时间到了也不轮转
    create 0664 root utmp 		#轮转后创建新文件,并设置权限
    rotate 2 					#保留2份
    }
    
    /var/log/btmp {
    missingok 		#丢失不提示
    monthly
    create 0600 root utmp
    rotate 1
    }
    
    [root@linux-server ~]# /usr/sbin/logrotate /etc/logrotate.conf #手动轮转
    自动日志轮转写进计划任务就好
    
  • 相关阅读:
    如何处理前端异常监控?
    【效果】使用canvas rotate实现一个旋转的矩形
    小tips:微信小程序登录后返回登录前的页面继续操作(保留参数)
    nginx的常用配置
    vue-router的History 模式常用的三种配置方式(去掉地址栏中的#号)
    web前端常用的五种方式搭建本地静态html页面服务器
    小tips:nodejs请求接口超时使用中间件connect-timeout实现自动超时机制
    小tips:tomcat下JSP页面引用css、js等资源路径404问题
    原生JavaScript实现一个简单的Promise构造函数示例
    canvas图片旋转扩展出原生JS实现移动端横竖屏手写签名示例
  • 原文地址:https://www.cnblogs.com/eba001/p/14287267.html
Copyright © 2020-2023  润新知