Linux日志文件系统

linux日志文件系统-ext3 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl 阅读详情

目录

一、inode与block

1.1inode和block概述

1.2inode的内容 

1.3inode的号码

 1.4inode的大小

1.5inode特点 

1.6软连接与硬链接

 1.7恢复误删除的xfs文件

1.8EXT类型文件恢复误删除

二、分析日志文件

 2.1日志文件的分类

2.2.日志文件的格式

2.3常见日志文件 

2.4日志文件分析

2.5日志管理


一、inode与block

1.1inode和block概述

1.文件存储在硬盘上,硬盘的最小存储单位叫做"扇区" ( sector )每个扇区存储512字节。

2.操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块。

3.文件数据存储在"块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode(索引节点),也叫i节点。

4.一个文件必须占用一个inode ,至少占用一个block。

inode和block的关系

1.2inode的内容 

inode包含文件的元信息

inode包含很多文件的元信息,例如:

  • 文件的字节数

  • 文件拥有者的User ID

  • 文件的Group ID

  • 文件的读、 写、执行权限

  • 文件的时间戳

  • 文件类型

  • 链接数

  • 有关文件的其他数据

注意:inode不包含文件名

可以用stat命令,查看某个文件的inode信息

eg:

[root@localhost ~]# stat /etc/passwd

linux文件系统的三个时间戳

  • ctime(change time):最后一次改变文件或目录的时间,例如执行chmod、chown

  • atime(access time):是最近一次访问文件或目录的时间

  • mtime(modify time):是最后一次修改文件或目录(内容)的时间

目录文件结构

inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。

 

  • 每个inode都有一个号码,操作系统用inode号码来识别不同的文件,linux系统内部使用不同文件名,而使用inode来识别文件。 对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一 一对应关系,每个inode号码对应一个文件名。.

1.3inode的号码

  1. 表面上,用户通过文件名,打开文件

  2. 实际上,系统内部这个过程分成三步:

  • 系统找到这个文件名对应的inode号码

  • 通过inode号码 ,获取inode信息

  • 根据inode信息,找到文件数据所在的block

 3.读出数据使用Is -i命令,可以看到文件名对应的inode号码: ls -i /etc/passwd

​[root@localhost ~]# ls -i /etc/passwd 69209681 /etc/passwd

4.使用stat命令,查看文件inode信息中的inode号码: stat /etc/passwd

[root@localhost ~]# stat /etc/passwd

硬盘分区后的结构 

  • 访问文件的简单流程:
    • 当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的 inode ,看该用户是否具有访问这个文件的权限

    • 如果有,就指向相对应的数据block

    • 如果没有,就返回Permission denied

 1.4inode的大小

inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节

inode的总数,在格式化时就确定

查看每个硬盘分区的inode总数和已经使用的数量,可以使用命令: df -i

[root@localhost ~]# df -i
 

1.5inode特点 

由于inode 号码与文件名分离,导致Linux系统具备以下几种特有的现象:

1.文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用

删除inode号的方法:

法一: find 文件位置 -inum inode号码 -exec rm -i {} \;

法二: find 文件位置 -inum inode号码 -delete

法三: find 文件位置 -inum inode号码  |  xargs rm -rf

eg:

2.mv移动文件或重命名文件,只是改变文件名,不影响inode 号(这里指的是非挂载磁盘)

 5656=.-== 

3.打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。

4.文件数据被修改保存后,会生成一个新的inode 号码。

 5.cp命令与inode:

  • 分配一个空闲的inode号

  • 在inode表中生成新条目在目录中创建一个目录项

  • 将名称与inode编号关联拷贝数据生成新的文件

6.rm命令与inode

  • 链接数递减,从而释放的inode号可以被重用把数据块放在空闲列表中

  • 删除目录项

  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

1.6软连接与硬链接

创建格式:

ln [-s] 源文件或目录...链接文件或目标位置(加-s为软连接,不加为硬链接)

 1.7恢复误删除的xfs文件

  • Centos 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复。

  • xfsdump的备份级别有两种:

    • 0表示完全备份;

    • 1-9表示增量备份。

    • xfsdump的备份级别默认为0。

    • xfsdump格式:

      xfsdump -f 备份存放位置 要备份的路径或设备文件

 xfsdump常用选项:

xfsdump使用限制:

  • 只能备份已挂载的文件系统

  • 必须使用root的权限才能操作

  • 只能备份XFS文件系统

  • 备份后的数据只能让xfsrestore解析

  • 不能备份两个具有相同UUID的文件系统(可用blkid命令查看)

实例演示:

1.添加一块新的硬盘,创建新的分区,格式化并挂载

2.在挂载目录/mnt下创建文件

3.安装xfsdump,指定备份目录和需要备份的磁盘

4.删除文件,做恢复测试

1.8EXT类型文件恢复误删除

一、安装依赖包:

e2fsprogs-libs-1.41.12- 18. el6.x86_ 64.rpm

e2fsprogs-devel-1 41.12-18.el6.x86_ 64.rpm

二、 配置、编译及安装

安装依赖包:

extundelete-0.2.4.tar.bz2

三、具体步骤:

1.安装依赖包

 

inode节点耗尽故障处理实验:

 

 

二、分析日志文件

日志保存位置默认位于:/var/log目录下

日志的功能:

  • 用于记录系统、程序运行中发生的各种事件

  • 通过阅读日志,有助于诊断和解决系统故障

 2.1日志文件的分类

内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置

用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登 录的终端、登录时间、来源主机、正在使用的进程操作等

程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息

2.2.日志文件的格式

  • 事件产生的时间。

  • 产生事件的服务器的主机名。

  • 产生事件的服务名或程序名。

  • 事件的具体信息。

2.3常见日志文件 

内核及公共消息日志 : /var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误、程序故障等。 对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

计划任务日志 :/var/log/ cron : 记录crond计划任务产生的事件信息。

 系统引导日志 :/var/ log/ dmesg: 记录Linux系统在引导过程中的各种事件信息。

邮件系统日志 :/var/log/maillog:记录进入或发出系统的电子邮件活动。

用户登录日志 :

/var/log/secure: 记录用户认证相关的安全事件信息。

/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式

/var/log/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式

/var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式

2.4日志文件分析

内核及系统日志配置文件及日志消息等级

[root@localhost mnt]# cat /etc/rsyslog.conf 
查看/etc/rsyslog.conf配置文件
* . info;mail.none;authpriv.none;cron.none  /var/log/messages

*.info          #表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none       #表示某事件的信息不写到日志文件里(这里比如是邮件)
 

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)

用户日志分析 

在wtmp、btmp、 lastlog等日志文件中 ,保存了系统用户登录、 退出等相关的事件消息。 但是这些文件都是二进制的数据文件,不能直接使用tail、less等文本查看工具进行浏览,需要使用who、w、users、 last和lastb等用户查询命令来获取日志信息

查询当前登录的用户情况—users、who、w命令

查询用户登录的历史记录—last、lastb命令

lastb命令—用于查询登录失败的用户记录

程序日志分析 

程序日志由相应的应用程序独立进行管理

Web服务:/var/log/httpd/

access_log ——记录客户访问事件

error_log ——记录错误事件

代理服务:/var/log/squid/

access.log、cache.log

分析工具:

文本查看、grep过来检索、Webmin管理套件中查看

awk、sed等文本过滤、格式化编辑工具

Webalizer、Awstats等专用日志分析工具


2.5日志管理

  • 及时做好备份和归档(rsyslog    shell/python脚本   ELK)

  • 延长日志保存期限

  • 控制日志访问权限

    • 日志中可能会包含各类敏感信息,如账户和口令等

  • 集中管理日志

    • 将服务器的日志文件发到统一-的日志文件服务器

    • 便于日志信息的统- -收集、 整理和分析

    • 杜绝日志信息的意外丢失、恶意篡改或删除

立创EDA开源足轮机器人:基于STM32F407与ESP32的LQR自平衡与FOC驱动设计全解析 本文详细解析了基于立创EDA平台的开源足轮机器人项目。该项目采用STM32F407作为主控,ESP32负责无线通信,并应用LQR自平衡算法与FOC驱动技术,实现了机器人的稳定站立、移动转向及复杂地形适应能力。文章深入剖析了其硬件架构、软件设计及调试经验,为机器人运动控制学习提供了宝贵参考。 阅读详情

相关推荐

WSL2迁移后用户名不见了?一招教你快速恢复Ubuntu22.04默认用户

本文针对WSL2迁移后Ubuntu 22.04默认用户名丢失的常见问题,提供了详细的诊断与修复方案。通过分析迁移底层逻辑,指导用户使用`ubuntu2204.exe config --default-user`命令或配置`/etc/wsl.conf`文件快速恢复用户身份,并涵盖权限修复、冲突解决及自动化迁移脚本等进阶内容,确保子系统迁移后环境完整可用。

web39explorer的博客 559

struct inode 结构体详解

inode的定义 inode译成中文就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。 二、inode的分类及其具体涵义 inode分为内存中的inode和文件系统中的inode,为了避免混淆,我们称前者为VFS inode, 而后者以EXT2为代表,我们称为Ext2 inode。下面分别对VFS inodee与Ext2 inode做一下简单的描述: 1、VFS inode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是linux管理文件系统的最基本

TuxedoLinux的博客 5109

一个响应ping包延迟偏大的问题

前段时间客户反馈一个使用pc上的命令行ping无线设备(WiFi4)时,设备平均响应时间(测试时长2小时,1秒Ping一次)相比其它机型偏慢的问题,并上传上具体的时间的Log.从log中看到,大多数包的响应还是比较快的,只是个别响应时间较长,且响应时间长的包时间几乎都是一样的100多ms.如下是部分响应时间截图. 整个2小时的测试时间里,总是时不时的出这么上102,104ms的响应时间,这直接导致了平均响应时间被拉大.于是本地测试,也发现了类似的延迟.本地测试时,现象略有...

流风回雪的博客 1万+

Linux文件系统 struct inode 结构体解析

Linux文件系统 struct inode 结构体解析,以及 dentry 和 inode之间的关联简介。

小立仔 5048

使用扫频信号测量房间脉冲响应

脉冲响应的测量

liuderong0的博客 1765

Origin绘制带差异显著性标记的分组均值条形图|科研论文图表教程(附数据格式模板)

传统柱状图虽能呈现组间均值差异,却隐藏个体数据分布;散点图虽能展示原始数据,却难以直观凸显统计显著性。带差异显著性(*)的分组均值条形图——它以“双层叙事”的创新设计,同时呈现群体特征与个体差异。

weixin_50236590的博客 1499

驱动中重要的三个结构体介绍:struct inode、struct file、struct file_operations

struct inode结构体 struct file结构体 struct file_operations结构体 三者的关联

weixin_42031299的博客 4645

嵌入式:简单的service框架

在嵌入式中,我们获取一个资源、设置一个变量、更新数据的话最直接的方式就是直接调用一个函数。这样的写法也可以满足基本的功能,前提是这个系统是只要一个任务,只有一个while(1)如图1.1。图1.1当有两个或者两个以上的任务的时候,同时调用一个函数(设置一个状态值、操作同一个资源、操作指针等行为)的流程如图1.2。图1.2当两个任务同时操作一个资源的时候,就会有重入的问题,会导致想不到的异常问题(数据不对、指针异常等)。

stupid的博客 987

一天一看————Linux文件系统与日志分析

文件系统与日志分析

weixin_55609823的博客 531

Verilog HDL 100道面试题及参考答案

在 Verilog HDL 中,参数(parameter)和宏定义(define)都可用于定义常量,但它们存在诸多不同之处。参数(parameter)是模块内部的常量定义,具有局部性。它在模块内部起作用,不同模块可以有同名的参数,且值可以不同。参数通常用于定义模块的一些配置信息,例如数据位宽、延迟时间等。参数的定义和使用是在模块的作用域内进行的,通过参数传递可以方便地对模块进行配置。endmodule在上述代码中,WIDTH是一个参数,用于定义加法器的位宽。通过改变WIDTH。

大模型大数据攻城狮的专栏 1736

国科大学习资料--人工智能原理与算法-第六次作业解析(学长整理)

国科大学习资料–人工智能原理与算法-第六次作业解析(张文生老师主讲)(6.6、6.7、6.11) 6.6 说明如何通过使用辅助变量把诸如A+B=C这样的三元约束转变成三个二元约束。假设值域是有限的。(提示:考虑引进新变量表示变量对的值,引进约束如“X是Y变量对中的第一个元素”。)然后说明如何把多于三个变量的约束类似地转换为二元约束。说明如何通过改变变量的值域来消除一元约束。这就完整演示了任何CSP都可以转变为只含二元约束的CSP。 答:首先,我们引入一个新变量AB,假设A和B的范围均为N,AB的范围为N×N

无名何许人的博客 2872

inode、block、软硬链接

inode和block inode和block是硬盘格式化的主要目的,inode号也占用硬盘空间,一个inode号的大小为256字节,这也是硬盘格式化后可用内存不是全部内存空间的原因 硬盘要想存数据,必须先决定硬盘存储数据的格式,如果是ext4格式,格式化后会生成inode和block,inode是文件的目录索引,block是存放数据的,文件的基本属性不是文件的数据,所以存放在inode里,只有文...

weixin_43880933的博客 448

最新Python爬虫实战(入门爬虫篇)——案例17:某天气网40天天气预报数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过分析某天气网的数据接口,成功实现了对40天天气预报数据的批量采集。抓包分析:利用浏览器开发者工具找到隐藏的JSONP数据接口,掌握URL构成规律。请求模拟:构造带有Referer和User-Agent的请求头,添加时间戳参数避免缓存,获取原始数据。数据解析:处理JSONP格式,去除前缀后使用json模块解析,提取所需字段并规范化日期格式。数据存储:利用pandas将结构化数据保存为Excel文件,便于后续分析和使用。动态数据接口的发现与分析JSONP数据的清洗与解析。

努力让自己发光,对的人才能迎着光而来 22万+

Linux的日志文件系统

用于Linux的日志文件系统原文:http://www.byte.com/column/BYT20000524S0001 原文作者:Moshe Bar 翻译:Brimmer 用于Linux的日志文件系统最近12个月以来,Linux已经巩固了其作为服务器操作系统的地位。就像集群(cluster)对于企业级的应用很重要那样,日志文件系统(journaling file system)也是同样重要的。

YJ_FQ的专栏 920

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux下日志文件系统

众所周知,文件系统是操作系统最为重要的一部分。每种操作系统都有自己的文件系统。文件系统直接影响着操作系统的稳定性和可靠性。Linux下的文件系统通常有两种,即日志文件系统和非日志文件系统,以下简单介绍两类文件系统。 一、非日志文件系统 非日志文件系统在工作时,不对文件系统的更改进行日志记录。 文件系统通过为文件分配文件块的方式把数据存储在磁盘上。每...

胡图图 1872

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

41. 【Linux教程】日志文件系统

ext3文件系统是第三代扩展文件系统(Third extended filesystem,缩写为ext3),它是一个日志文件系统,经常被用于 Linux 操作系统中,它是很多 Linux 发行版的默认文件系统。Stephen Tweedie 在 1999 年 2 月将该文件系统从 2.4.15 版本的内核开始,合并到内核主线中,它是对ext2系统的扩展,并且它兼容ext2。

这是一个web全栈开发的博客,取其精华去其糟粕,争取让大家一看就懂,一学就会,一用就成~ 1468

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

linux下的日志文件系统

<br />众所周知,文件系统是操作系统最为重要的一部分。每种操作系统都有自己的文件系统。文件系统直接影响着操作系统的稳定性和可靠性。Linux下的文件系统通常有两种,即日志文件系统和非日志文件系统,以下简单介绍两类文件系统。    一、 非日志文件系统    非日志文件系统在工作时,不对文件系统的更改进行日志记录。    文件系统通过为文件分配文件块的方式把数据存储在磁盘上。每个文件在磁盘上都会占用一个以上的磁盘扇区,文件系统的工作就是维护文件在磁盘上的存放,记录文件占用了哪几个扇区。另外扇区的使用情况也

xqy1522的专栏 1149

Linux 日志文件系统(Journaling)详解

日志文件系统是Linux防止数据损坏的关键技术,通过记录操作日志确保系统崩溃后快速恢复一致性。主要分为元数据日志(默认)和全数据日志(安全但性能低)。主流系统如ext4提供三种模式:journal(全日志)、ordered(默认)和writeback(仅元数据)。优势包括快速恢复和数据一致性,但会增加I/O和空间占用。日志不保护文件内容,需配合应用层事务机制。配置建议:多数场景用ext4 ordered模式,关键数据仍需定期备份。掌握日志原理可优化存储性能并预防数据灾难。

m0_37643701的博客 963

用于Linux的日志文件系统

用于Linux的日志文件系统原文:http://www.byte.com/column/BYT20000524S0001 原文作者:Moshe Bar 翻译:Brimmer 用于Linux的日志文件系统最近12个月以来,Linux已经巩固了其作为服务器操作系统的地位。就像集群(cluster)对于企业级的应用很重要那样,日志文件系统(journaling file system)也是同样重要的。

小伟 2403

Linux日志文件系统及性能分析

日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统:EXT3、ReiserFS、XFS和JFS日志技术,并采用标准的测试工具PostMark和Bonnie++对它们进行了测试,给出了详细的性能分析,对Linux服务器应用具有重要的参考价值。 一、概述 所谓日志文件系

职场里拉开差距的不是知识,而是认知! 3251

linux日志系统原理,Linux日志文件系统解析

在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为 Linux的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件 系统和下一代日志文件系统。定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时 fsck(即文件...

weixin_34688784的博客 347

linux系统——日志文件系统及性能分析

Linux日志文件系统及性能分析 日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统:EXT3、ReiserFS、XFS和JFS日志技术,并采用标准的测试工具PostMark和Bonnie++对它们进行了测试,给出了详细的性能分析,对Linux服务器应用具有重要的参考价值。 一、...

boyemachao的专栏 437

Linux日志文件系统的工作原理

Linux日志文件系统的工作原理 (2013-01-28 15:23:04) 转载▼ 标签: 杂谈 kernel journal filesystem ext4 分类: 文件系统 Linux ext4日志文件系统的基本概念 (本文是日志文件系统的实现概念,不涉及具体函数实现)什么是日志文件系统: 日志(Journal)文件系统比非日志文件系统多了一个Journal,即记录上层(system call)对文件系统修改行为的数据。简而言之,就.

NEAL002的博客 1113
上一篇: netstat和ss命令区别
下一篇: Linux网络配置
Au杨
博客等级 码龄6年 37粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值