10.34 linux系统日志
时间:2022-04-27
本文章向大家介绍10.34 linux系统日志,主要内容包括linux系统日志、参考文件日志文章、dmesg命令、/var/log/dmesg日志文件、last命令、lastb命令、安全日志、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
linux系统日志
- /var/log/messages //是linux系统一个总的日志——>除非某些服务,有定义单独的日志
- /etc/logrotate.conf 日志切割配置文件
- 参考日志文件文章
- dmesg命令
- /var/log/dmesg 日志
- last命令,调用的文件/var/log/wtmp
- lastb命令查看登录失败的用户,对应的文件时/var/log/btmp
- /var/log/secure
系统日志
- /var/log/messages //是linux系统一个总的日志——>除非某些服务,有定义单独的日志
- 系统中存有一个日志切割机制,日志的滚动,在增长到一定级别了,就会自动切割
[root@hf-01 ~]#
[root@hf-01 ~]# ls /var/log/messages
/var/log/messages
[root@hf-01 ~]# less !$
less /var/log/messages
[root@hf-01 ~]# du -sh !$
du -sh /var/log/messages
388K /var/log/messages
- 在查看日志的时候,会发现日志自动切割了
- linux系统中有一个logrotate服务,会自动切割日志,防止无限制的增加
[root@hf-01 ~]# ls /var/log/messages*
/var/log/messages /var/log/messages-20171120 /var/log/messages-20171203
/var/log/messages-20171112 /var/log/messages-20171127
[root@hf-01 ~]#
- 查看日志文件cat /etc/logrotate.conf
- 它会告诉你
[root@hf-01 ~]# cat /etc/logrotate.conf
# see "man logrotate" for details //会告诉你查看logrotate的帮助文档
# rotate log files weekly
weekly //每周切割一次
# keep 4 weeks worth of backlogs
rotate 4 //切割四个
# create new (empty) log files after rotating old ones
create //创建一个新的文件
# use date as a suffix of the rotated file
dateext //这是它的后缀名
# uncomment this if you want your log files compressed
#compress //是否需要压缩,压缩成 .tar.gz
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d //这个目录下还有一些文件
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { //切割该文件,每个月切割一次
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp { //切割该文件,指定权限,属主,属组
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
[root@hf-01 ~]#
- 查看 /etc/logrotate.d/syslog 文件
- 它会为cron,maillog,messages,secure,spooler这几个日志进行切割
- messages日志是由 syslogd 服务决定的,所以 kill -HUP 就会重新加载这个日志
- 还有一个脚本,shell命令行,在把日志切割后(挪走),改名字生成新的日志
- 它会为cron,maillog,messages,secure,spooler这几个日志进行切割
- Linux系统有一个特点,一个服务写一个文件的时候,并不是按照文件名去写的,而是根据inode来写的
[root@hf-01 ~]# ls /etc/logrotate.d
ppp samba syslog wpa_supplicant yum
[root@hf-01 ~]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
[root@hf-01 ~]#
参考文件日志文章
dmesg命令
- dmesg命令,会把系统硬件相关的日志列出来
- 这个日志是保存在内存中的,并不是一个文件
- 假如你的网卡有问题了,硬盘损坏了,都会记录在这个日志中
- dmesg -c //清空当前日志
- 但是一重启这个系统,又会生成这些日志
/var/log/dmesg日志文件
- /var/log/dmesg //这是一个日志文件
- 这个日志文件和 dmesg命令 没有任何关联
- 它是系统启动的一个日志,记录的信息
last命令
- last命令,查看你正确的登录历史
- 调用的文件/var/log/wtmp
- 记录是是谁,在哪里,来源IP,时间,登录的时长都会有记录
- /var/log/wtmp日志是一个二进制文件,不能直接cat查看的,只能用last命令去查看
[root@hf-01 ~]# last
root pts/0 192.168.74.1 Thu Dec 7 01:41 still logged in
reboot system boot 3.10.0-123.el7.x Thu Dec 7 01:36 - 05:38 (04:01)
root pts/1 192.168.74.1 Wed Dec 6 05:11 - 05:13 (00:01)
root pts/0 192.168.74.1 Wed Dec 6 01:27 - crash (1+00:09)
reboot system boot 3.10.0-123.el7.x Wed Dec 6 01:26 - 05:38 (1+04:11)
root pts/0 192.168.74.1 Tue Dec 5 01:38 - crash (23:48)
reboot system boot 3.10.0-123.el7.x Tue Dec 5 01:37 - 05:38 (2+04:00)
root pts/0 192.168.74.1 Mon Dec 4 03:23 - down (02:57)
root pts/0 192.168.74.1 Sun Dec 3 17:42 - 03:23 (09:40)
等等等,只截取了一部分
[root@hf-01 ~]# ls /var/log/wtmp
/var/log/wtmp
lastb命令
- lastb命令,查看登录失败的用户
- 对应的文件时/var/log/btmp 日志
- /var/log/btmp也是二进制文件,不能直接cat的
[root@hf-01 ~]# lastb
btmp begins Sat Dec 2 04:25:01 2017
[root@hf-01 ~]# ls /var/log/btmp
/var/log/btmp
[root@hf-01 ~]#
安全日志
- /var/log/secure
- 比如登录操作系统,验证成功会在这里记录一个日志,失败也会去记录
[root@hf-01 ~]# ls /var/log/secure
/var/log/secure
[root@hf-01 ~]#
- 反射+自定义注解---实现Excel数据列属性和JavaBean属性的自动映射
- 后台模板管理系统___左侧菜单数据的异步加载
- Shiro眼皮下玩ajax,玩出302 Found
- 对于JSONObject,我只是临时抱佛脚
- 总结切面编程AOP的注解式开发和XML式开发
- SpringMVC注解@RequestMapping之produces属性导致的406错误
- SpringBoot集成MyBatis的分页插件PageHelper(回头草)
- SpringBoot整合Mybatis之进门篇
- Tomcat和Java Virtual Machine的性能调优总结
- 一次浴火重生的MySQL优化(EXPLAIN命令详解)
- 简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】
- Java设计模式之适配器设计模式(项目升级案例)
- Java设计模式之模板方法设计模式(银行计息案例)
- 多线程之策略模式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 01 . OpenResty简介部署,优缺点,压测,适用场景及用Lua实现服务灰度发布
- 详解Linux iptables 命令
- 详解fedora 开启 apache 并 开启目录浏览模式
- CentOS新建用户并使能密钥登录的方法
- Linux系统扩容根目录磁盘空间的操作方法
- Linux如何查看进程栈信息示例
- linux查看硬盘大小与挂载硬盘的实现
- centos6.5 安装hadoop1.2.1的教程详解【亲测版】
- Linux中没有rc.local文件的完美解决方法
- 详解linux lcd驱动编写
- Linux下安装telnet的方法
- Linux 安装二进制MySQL 及 破解MySQL密码的方法
- Linux创建进程达到65535的方法
- SSH 上传文件及文件夹到linux服务器的方法
- apache tika检测文件是否损坏的方法