linux ubuntu查日志信息以及错误排查
目录
一、linux的日志文件
1、常用日志文件
2、其他日志文件
二、历史日志的查看
1、查看Logrotate的配置信息
2、查看日志配置
一、linux的日志文件
Linux系统中最有趣的(可能也是最重要的)目录之一是/var/log。根据文件系统层次结构标准,在系统中运行的大多数服务的活动都被写到这个目录或它的子目录中的一个文件中。这些文件被称为日志,是检查系统如何运行(以及它在过去如何运行)的关键。日志也是管理员和工程师在进行故障排除时查看的第一个信息源。
1、常用日志文件
日志文件 | 描述 |
---|---|
/var/log/cron | 与定时任务相关的日志信息,记录crond计划任务服务执行情况 |
/var/log/dmesg | 记录Linux系统在引导过程中的各种事件信息 |
/var/log/maillog | 记录进入或发出系统的电子邮件活动,与邮件相关的日志信息 |
/var/log/lastlog | 记录每个用户最近的登录事件 |
/var/log/secure | 与安全相关的日志信息,Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况 |
/var/log/wtmp | 记录每个用户登录、注销及系统启动和停机事件,使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。 |
/var/log/btmp | 记录失败的、错误的登录尝试及验证事件 |
/var/log/apport.log | 应用程序崩溃记录 |
/var/log/inessages | 系统启动后的信息和错误日志,记录Linux操作系统常见的系统和服务错误信息,包括启动、I/O错误、网络错误、程序故障等。 |
/var/log/boot.log | 守护进程启动和停止相关的日志消息 |
/var/run/utmp | 记录当前正在登录系统的用户信息 |
/var/log/spooler | 与UUCP和news设备相关的日志信息 |
/var/log/cpus | 涉及所有打印信息的日志 |
/var/log/alternatives.log | 更新替代信息都记录在这个文件中 |
/var/log/apt/ | 用apt-get安装卸载软件的信息 |
/var/log/auth.log | 与UUCP和news设备相关的日志信息 |
/var/log/cpus | 涉及所有打印信息的日志 |
/var/log/alternatives.log | 更新替代信息都记录在这个文件中 |
/var/log/apt/ | 用apt-get安装卸载软件的信息 |
2、其他日志文件
日志文件 | 描述 |
---|---|
auth.log | 用户登录及身份认证日志 |
btmp | 记录所有失败启动信息 |
Consolekit | 记录控制台信息 |
cpus | 涉及所有打印信息的日志 |
dist-upgrade | dist-upgrade这种更新方式的信息 |
dmesg | 包含内核缓冲信息(kernel ringbuffer) |
debug | 调试日志信息 |
daemon.log | 运行squid,ntpd等其他日志消息 |
faillog | 包含用户登录失败信息和错误登录命令 |
fontconfig.log | 与字体配置有关的log |
fsck | 文件系统日志 |
lastlog | 记录所有用户的最近信息 |
mail/ | 这个子目录包含邮件服务器的额外日志 |
mail.err | 类似于上面的 |
samba/ | 包含由samba存储的信息 |
xorg.*.log | 来自X的日志信息 |
user.log | 所有用户级日志 |
ufw | ufw-防火墙日志 |
gufw | gufw-防火墙日志 |
二、历史日志的查看
一、中主要是当前日志的查看,但是如何查看历史日志,这牵扯到日志文件的轮转
日志文件是经常轮转的。当前的日志会获得稍微不同的文件名,并建立一个新的日志文件
如果日志是永久保存的,它们最终会填充/var/log所在的文件系统。为了防止这种情况发生,系统管理员可以使用一个名为logrotate的实用程序定期清理日志。
简单地说,logrotate将在满足条件时重命名或压缩主日志(稍后将详细介绍),以便将下一个事件记录在一个空文件中。
此外,它将删除“旧的”日志文件,并保留最新的日志文件。当然,我们需要决定“old”是什么意思,以及希望logrotate多久清理一次日志。
所以历史日志文件保存信息要在Logrotate的配置信息中查看
1、查看Logrotate的配置信息
在/etc/logrotate.d/apache2.conf中可以看到下面信息,不同文件保存着不同类日志的保存配置
2、查看日志配置
查看apport.log应用程序崩溃历史配置,vi apport打开崩溃日志Logrotate的配置信息
var/log/apport.log { rotate 12monthlycompressmissingoknotifempty
}
第一行表明该块内的指令适用于/var/log/apport的所有日志:
rotate 12
:保留十二个旧日志文件。monthly
:每月轮换一次。compress
:压缩轮换的文件。默认使用gzip
,导致文件以.gz
。结尾。可以使用该compresscmd
选项更改压缩命令。missingok
:如果缺少日志文件,请不要写入错误消息。notifempty
:如果日志文件为空,请不要轮换日志文件。
3、查看历史日志
所以说上个月的程序崩溃历史如果有的话应该存在于apport.log.1.gz中
apport.log apport.log.1.gz
解压文件,即可查看上个月程序崩溃历史
sudo gzip -dv apport.log.1.gz
相关文章:

linux ubuntu查日志信息以及错误排查
目录 一、linux的日志文件 1、常用日志文件 2、其他日志文件 二、历史日志的查看 1、查看Logrotate的配置信息 2、查看日志配置 一、linux的日志文件 Linux系统中最有趣的(可能也是最重要的)目录之一是/var/log。根据文件系统层次结构标准,在系统中运行的大多数…...

DOS经典软件,落下帷幕,新型国产平台,蓬勃发展
提起DOS时代,总让人难以忘怀,陷入深深回忆中,风靡一时的许多软件,如今早已不在,这几款被称为DOS必装的软件,更是让人惋惜。 你还记得这图吗?堪称DOS系统最经典的软盘复制与映像生成软件…...

MongoDB数据存储格式
前言 之前分享了MongoDB的基本命名和视图等信息,本文分享一下MongoDB的数据存储类型,使用方式。基础的MongoDB信息就学习完啦,之后会继续分享MongoDB进阶的一些东西。 MongoDB数据存储格式前言1 文件结构1.2 字段名称2 点符号2.2 嵌入式文件…...
ARC126D Pure Straight
ARC126D Pure Straight 题目大意 给一个长度为nnn的整数序列A(a1,a2,…,an)A(a_1,a_2,\dots,a_n)A(a1,a2,…,an),其中ai∈[1,k]a_i\in [1,k]ai∈[1,k]。 你可以做如下操作任意次: 交换相邻两个元素 求最小的操作次数,使得序列AA…...

基于RK3588的嵌入式linux系统开发(四)——uboot镜像下载(基于RKDevTool工具)
官方提供的SDK中包含RKDevTool工具(RKDevTool_Release_v2.92)和相应的驱动(DriverAssitant_v5.1.1)。本节主要介绍在windows操作系统环境下利用RKDevTool下载以上生成的uboot镜像和bootloader镜像。注意:本节使用的板卡…...

设计模式之策略模式与责任链模式详解和应用
目录1.策略模式1.1 目标1.2.内容定位1.3.定义1.4.应用场景1.5.促销优惠业务场景1.6 用策略模式实现选择支付方式的业务场景1.7 策略模式在框架源码中的体现1.8 策略模式的优缺点2 责任链模式2.1 责任链楼式的应用场景2.2 利用责任链模式进行数据校验拦截2.3 责任链模式和建造者…...

广度优先搜索(BFS)-蓝桥杯
一、BFS搜索的原理BFS搜索的原理:“逐层扩散”,从起点出发,按层次从近到远,逐层先后搜索。编码:用队列实现。应用:BFS一般用于求最短路径问题,BFS的特点是逐层搜索,先搜到的层离起点…...

Java Type类
文章目录Type简介Type分类1. 原始类型(Class)2. 参数化类型(ParameterizedType)3. 类型变量(TypeVariable)4. 通配符类型(WildcardType)5. 泛型数组类型(GenericArrayType)Type简介 Type是Java编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型…...

Springboot扩展点之CommandLineRunner和ApplicationRunner
Springboot扩展点系列:Springboot扩展点之ApplicationContextInitializerSpringboot扩展点之BeanFactoryPostProcessorSpringboot扩展点之BeanDefinitionRegistryPostProcessorSpringboot扩展点之BeanPostProcessorSpringboot扩展点之InstantiationAwareBeanPostPro…...
ngixn 常用配置之文件类型与自定义 log
大家好,我是 17 。 总结了一些 nginx 的常用配置。从入口文件开始,今天讲一下文件类型和自定义log 为了讲述方便,环境为 CentOS 7, nginx 版本 1.21。 配置文件入口 /etc/nginx/nginx.conf这是入口文件,这个文件里…...

【100个 Unity实用技能】 | Unity 通过自定义菜单将资源导出
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案ÿ…...

0.3调试opencv源码的两种方式
调试opencv源码的两种方式 上两篇我们分别讲了如何配置opencv环境,以及如何编译opencv源码方便我们阅读。但我们还是无法调试我们的代码,无法以我们的程序作为入口来一步一步单点调试看opencv是如何执行的。 【opencv源码解析0.1】VS如何优雅的配置ope…...

Redis的常见操作和Session的持久化
安装Redis使用yum命令,直接将redis安装到linux服务器:yum -y install redis启动redis使用以下命令,以后台运行方式启动redis:redis -server /etc/redis.conf &操作redis使用以下命令启动redis客户端:redis-cli设置…...
TypeScript笔记(二)
背景 上一篇文章我们介绍了TypeScript的一些特性,主要是其与JavaScript的比较,接下来我们将会开始学习Type的语法,这篇文章将会介绍TypeScript的数据类型。 原始数据类型 TypeScript是JavaScript的超集,TypeScript的数据类型就…...

【MyBatis】源码学习 03 - 类型处理器 TypeHandler
文章目录前言参考目录学习笔记1、type 包中类的归类总结2、类型处理器2.1、TypeReference 类3、类型注册表3.1、TypeHandlerRegistry#getTypeHandler前言 本文内容对应的是书本第 8 章的内容,主要是关于类型处理器 TypeHandler 的学习。 这一章节的学习有些地方理…...

建造《流浪地球2》中要毁灭人类的超级量子计算机MOSS的核心量子技术是什么?
1.《流浪地球2》中的量子计算机 2023年中国最火的电影非《流浪地球2》莫属,在《流浪地球2》中有一个人工智能机器人MOSS ,它的前身是“550W”超级量子计算机,“MOSS”是它给自己起的名字(“550W”倒转180度就是“MOSS”ÿ…...
数据结构~七大排序算法(Java实现)
目录 插入排序 直接插入排序 希尔排序 选择排序 直接选择排序 堆排序 交换排序 冒泡排序 快速排序 递归实现 优化版本 归并排序 插入排序 直接插入排序 public class MySort {public static void insertSort(int[] array) {for (int i 1; i < array.length;…...

python练习
项目场景一: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 问题描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶…...
RPC-thrift实践
参考:https://www.cnblogs.com/52fhy/p/11146047.html 参考:https://juejin.cn/post/7138032523648598030 实践 安装thrift brew install thriftthrift -version 编写thrift文件 新建文件夹thrift新建文件 结构体文件 Struct.thrift 服务文件 Service.…...

Maven:工程的拆分与聚合
Maven 拆分与聚合创建父工程创建子模块pom.xml配置示例拆分与聚合 在 Maven 中, 拆分是将一个完整的项目分成一个个独立的小模块,聚合是将各个模块进一步组合,形成一个完整的项目。接下来简单示例拆分与聚合的过程。 创建父工程 父工程,一个pom工程,目录结构简单,只需有…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...