Linux—文件内系统与日志分析

news2024/11/24 4:55:16

目录

一、Linux文件系统

1、inode 与 block概述

1.2、inode内容

 1.3、查找inode

1.4、inode故障处理

 2、硬盘分区后的结构

3、访问文件的流程

4、文件恢复

4.1、恢复ext3格式文件

4.2、恢复 xfs 格式文件

二、Linux日志文件

1、日志的功能

2、日志的默认位置 

3、日志文件的分类

4、日志消息的级别

5、 详细日志分析

三、管理日志

1、journalctl

2、rsyslog

 3、日志管理策略


一、Linux文件系统

1、inode 与 block概述

  • inode(索引节点)是文件系统中的一种数据结构,用于存储文件或目录的元数据信息,例如文件大小、权限、所有者、时间戳等。每个文件和目录都有一个唯一的inode来标识和管理。
  • block(块)是文件系统中用来存储实际数据的最小单位。文件系统将文件内容分割为一个个块来存储,每个块的大小可以根据文件系统的设计和配置而有所不同。文件系统使用块来管理存储空间并存储文件数据

1.2、inode内容

①、inode包含文件的元信息,比如:文件的大小,时间,类型,权限等

②、inode包含一下信息:

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳

 ③、Linux系统文件三个主要的时间属性

简写全名中文名说明
atimeaccess time访问时间文件内容最后被访问的时间
mtimemodify time修改时间文件内容最后被修改的时间
ctimechange time变化时间文件的元数据发生变化的时间(比如权限,所有者等)

 1.3、查找inode

①、用户通过文件名打开文件时,系统内部的过程

  • 系统找到这个文件名对应的inode号码
  • 通过inode号码,获取inode信息
  • 根据inode信息,找到文件数据所在的block,读出数据

②、查找inode

1、ls -i    文件名

2、stat    文件名

1.4、inode故障处理

  for n in $(seq 1 20000); do touch a_$n; done       #创建空文件

  df -i                                                                        #查看设备的inode号数量

rm -rf   文件名                                      #删除文件

 2、硬盘分区后的结构

3、访问文件的流程

4、文件恢复

4.1、恢复ext3格式文件

#安装软件包

yum -y install e2fsprogs-devel e2fsprogs-libs                           #安装依赖软件        

tar -jxvf extundelete-0.2.4.tar.bz2                                             #解压安装包

cd /opt/extundelete-0.2.4                                                         #切换到安装目录下

./configure                                                                                 #编译安装          

make

make install

*******************************************************************************************************

#使用fdisk创建分区并且格式化

fdisk /dev/sdb                                #分区

mkfs.ext3 /dev/sdb1                      #使用ext3格式化

mkdir   test                                     #创建一个目录

mount /dev/sdb1 /test                    #挂载

cd /test                                           #切换到挂载点目录

echo  “this   is   oppo” > 1.txt          #创建文件

echo  “this   is   vivo ” > 2.txt   

echo  “this   is   huawei” > 3.txt   

echo  “this   is   xiaomi” > 4.txt   

********************************************************************************************************

#删除文件并恢复

rm  -rf   1.txt   2.txt    3.txt                                            #删除文件

umount /test                                                                #解挂载

extundelete /dev/sdb1 --restore-all                             #恢复被删除的文件

********************************************************************************************************

                                                       恢复完成!

4.2、恢复 xfs 格式文件

①、命令格式:

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

xfsrestore    -f       恢复文件的位置     存放恢复后文件的位置

②、备份级别: 

 

③、常用选项

选项说明
-f指定备份文件目录
-L指定标签 session label
-M指定设备标签 media label
-s备份单个文件,-s 后面不能直接跟路径

④、xfsdump使用限制

  • 只能备份已挂载的文件系统
  • 必须使用root的权限才能操作口
  • 只能备份XFS文件系统
  • 备份后的数据只能让xfsrestore解析口
  • 不能备份两个具有相同UUID的文件系统

#安装软件工具

yum install -y xfsdump
********************************************************************************************************

#使用fdisk分区并且格式化

fdisk /dev/sdb                                                                  #分区

mkfs.xfs /dev/sdb1                                                          #文件系统格式化

mkdir test                                                                        #创建目录

mount /dev/sdb1 /test                                                     #挂载磁盘分区

cd /test                                                                            #切换到挂载点目录

echo “this is kfc” > 666.txt                                              #创建文件

*****************************************************************************************************

#使用xfsdump命令备份整个分区

xfsdump -f /opt/bak_sdb1 /dev/sdb1

******************************************************************************************************

#删除文件并恢复

rm -rf /test/*                                                                        #删除/mnt目录下的所有文件

xfsrestore -f /opt/bak_sdb1 /opt/                                       #恢复文件到opt下

***************************************************************************************************

                                                             恢复完成!

二、Linux日志文件

1、日志的功能

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

2、日志的默认位置 

  • 默认于  /var/log 下面

3、日志文件的分类

①、内核及系统日志

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

  • /var/log/messages

 日志记录的一般格式:

 记录日志的一半格式

②、用户日志

记录系统用户登录及退出系统的相关信息

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

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

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

 

③、程序日志

 由各种应用程序独立管理的日志文件,记录格式不统一

4、日志消息的级别

级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况。
1ALERT警告必须马上采取措施解决的问题。
2CRIT严重比较严重的情况。
3ERR错误运行出现错误。
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件。
5NOTICE注意不会影响正常功能,但是需要注意的事件。
6INFO信息一般信息。
7DEBUG调试程序或系统调试信息等

5、 详细日志分析

命令功能
users显示当前登录用户的用户名列表,按空格分隔。
w显示当前登录用户及其活动的信息,包括当前时间、系统运行时间、登录用户、活动信息等。
who显示当前登录用户的信息,包括登录用户名、登录终端、登录时间、远程主机名等。
last显示系统启动以来所有用户的登录和注销记录。
lastb显示失败的登录尝试记录。

三、管理日志

1、journalctl

  • journalctl工具是CentOS-7才有的工具
  • Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalct1一个命令,查看所有日志(内核日志和应用日志)。
参数说明
-u UNIT, --unit=UNIT仅显示指定单元(服务)相关的日志消息。
-k, --dmesg显示内核消息,相当于查看 dmesg 输出。
-b, --boot=IDNUMBER
-p LEVEL, --priority=LEVEL仅显示指定优先级的日志消息。
-e, --pager-end在显示完日志后保持光标在末尾,等待用户输入。
-n NUMBER, --lines=NUMBER显示最后指定行数的日志消息。
-f, --follow实时跟踪日志消息的变化,类似 tail -f
-o FORMAT, --output=FORMAT指定输出格式,如 jsonjson-prettyshortverbose 等。
--since TIME显示自指定时间点之后的日志消息。
--until TIME显示自指定时间点之前的日志消息。
--disk-usage显示磁盘上日志文件的使用情况统计信息。

日志的配置文件          /etc/systemd/journald.conf  ps -ef | grep journald

journalctl -b    //查看本次启动的日志

journalctl -k     //查看内核日志

[root@localhost ~]# journalctl |wc -l                //查看系统总共的日志
3268

journalctl -xe  经常用来查看最近报错的日志
-e:从结尾开始看
-x:提供问题相关的网址

                        

2、rsyslog

用于收集、存储和传输日志数据

vim /etc/rsyslog.conf

实验:收集日志

准备两台虚拟机,一台作为服务端,一台作为客户端

服务端配置

①、查看服务是否开启

②、配置rsyslog服务文件,开启 19、20行

vim /etc/rsyslog.conf

③、编辑完成,重启服务,看是否有514端口

客户端配置: 

在客户端进行操作时,服务端会实时采集客户端的日志信息

 3、日志管理策略

及时作好备份和归档
延长日志保存期限
控制日志访问权限 

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

 集中管理日志

  • 将服务器的日志文件发到统一的日志文件服务器
  • 便于日志信息的统一收集、整理和分析
  • 杜绝日志信息的意外丢失、恶意篡改或删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1893504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一百四十二节 Java数据类型教程 - Java字符数据类型

Java数据类型教程 - Java字符数据类型 Character类的一个对象包装一个char值。 字符类包含isLetter()和isDigit()方法来检查字符是否为字母和数字。 toUpperCase()和toLowerCase()方法将字符转换为大写和小写。 该类提供了一个构造函数和一个工厂valueOf()方法来从char创建对…

高精度定位技术:赋能电网智能化转型的新引擎

在当今社会,电力作为经济发展的血脉,其稳定高效运行对于国家能源安全与社会发展至关重要。随着科技的飞速进步,高精度定位技术正逐步渗透至电网管理的各个环节,成为推动电网智能化转型的关键力量。本文将深入探讨高精度定位技术在…

联合查询(多表查询)

多表查询是对多张表的数据取笛卡尔积(关联查询可以对关联表使用别名) 数据准备 insert into classes(name, desc) values (计算机系2019级1班, 学习了计算机原理、C和Java语言、数据结构和算法), (中文系2019级3班,学习了中国传统文学), (自动化2019级5…

【java计算机毕设】美容院管理系统 项目源代码MySQL springboot vue html maven+文档 前后端可分离也可不分离

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】美容院管理系统 项目源代码MySQL springboot vue html maven文档 前后端可分离也可不分离 2项目介绍 系统功能: 美容院管理系统包括管理员、用户俩种角色。 管理员功能包括个人中心模块用于修改…

起飞,纯本地实时语音转文字!

简介 偶然在 github 上翻到了这个项目 https://github.com/k2-fsa/sherpa-ncnn 在没有互联网连接的情况下使用带有 ncnn 的下一代 Kaldi 进行实时语音识别。支持 iOS、Android、Raspberry Pi、VisionFive2、LicheePi4A等。 也就是说语音转文字可以不再借助网络服务的接口&am…

为什么技术合作伙伴必须获得 ISO 27001 认证

在当今的数字环境中,强大的安全措施的重要性怎么强调都不为过。 即使是像 Snowflake 这样的巨头,也很少有一天不出现重大漏洞,据《连线》报道,这可能是历史上最大的漏洞之一。 此外,98.3%的组织与至少一家第三方供应商…

【公益案例展】四川农担x中电金信——大数据智能风控平台建设

‍ 中电金信公益案例 本项目案例由中电金信投递并参与数据猿与上海大数据联盟联合推出的 #榜样的力量# 《2024中国数据智能产业最具社会责任感企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 1、外部经济环境带来的挑战 近几年经济发展和市场需求的挑…

关于5G和卫星

手机,已经串联起了我们生活中的一切环节。我们随时随地拿出手机,都能畅快地上网。 这一切是如此地理所当然,以至于我们甚至想不到这样不可思议的问题: 移动通信网络真的无处不在吗? 我们都知道,地球虽叫…

企业级监控系统Zabbix

文章目录 Zabbix介绍Zabbix架构Zabbix serverZabbix agentZabbix proxy Zabbix Server的安装Zabbix Agent的安装监控主机流程zabbix_get自定义模板和监控项实战用户登录数监控1.指定监控项命令2.重启Agent服务3.在Server上创建监控项4.测试监控项5.查看监控项图形 故障自愈实现…

轮廓检测(python和c++实现)

利用轮廓检测,我们可以检测物体的边界,并在图像中轻松定位。这通常是许多有趣应用的第一步,如图像前景提取、简单图像分割、检测和识别。 无人看管物体检测:公共场所的任何无人看管物体一般都被视为可疑物体。一种有效而安全的解…

农作物生长环境的远程监控与智能调控

农作物生长环境的远程监控与智能调控 农作物生长环境的远程监控与智能调控技术,作为现代农业科技的核心组成部分,正逐步革新传统农业的生产模式,推动农业向精准化、智能化转型。这一技术体系综合应用了物联网、大数据、云计算以及人工智能等…

医疗器械进销存软件 专业合规的医疗公司器械出入库管理软件

财务管理:财务档案统一管理,有利于科学管理企业资金 财务管理:发票关联业务单据,业财融合,加速财务数字化转型 财务管理:提供收付款功能,加快企业应收账款的回收,降低付款的资金浮…

数据融合平台的概述、特点及技术方案

在当今数字化时代,数据已成为企业最宝贵的资产之一。然而,数据的分散存储和格式不一,常常导致数据孤岛现象,使得数据的潜在价值难以被充分挖掘和利用。在这样的背景下,数据融合平台应运而生,它的意义不仅在…

“第六感”真的存在吗?

现在已有证据表明,人类除视觉、听觉、嗅觉、味觉和触觉五种感觉以外,确实存在“第六感” “第六感”的学术名称为“超感自知觉”(简称ESP),它能透过正感官之外的渠道接收信息, 预知将要发生的事,而且与当事人之前的经…

Windows的管理工具

任务计划程序:这是一个用来安排任务自动运行的工具。你可以在这里创建新的任务,设定触发条件,并指定任务的操作。 事件查看器:这是一套日志记录和分析工具,,你可以了解到系统的工作状况,帮助诊…

蓝蜂网关接入雄安新区物联网统一开放平台应用案例

蓝蜂网关接入雄安新区物联网统一开放平台案例 一、应用背景 为响应国家《河北雄安新区规划纲要》,由中国雄安集团数字城市科技有限公司牵头,以中移物联网有限公司为牵头单位的联合体,构建了雄安新区物联网统一开放平台(简称雄安…

Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0704)

目录 前言 一、Anaconda的下载与安装 二、检查是否有Nvidia显卡 三、安装CPU环境的pytorch 四、安装GPU环境的pytorch(待写...) 五、Anaconda与Pycharm 配置 总结 前言 深度学习越来越火啦,深入到各行各业,小北个人也对深度学习很感兴…

Day05-讲师列表前端-讲师信息添加

代码&#xff1a; //添加讲师 addTeacher(teacher){ return request({ url:/eduservice/teacher/addTeacher, method:‘post’, data:teacher }) } &#xff08;2&#xff09;在页面实现调用 代码&#xff1a; 讲师添加 <el-button type“primary” :disabled“sav…

Python代码设置Excel工作表背景色或背景图

Excel是工作中数据处理和分析数据的重要工具。面对海量的数据和复杂的表格&#xff0c;如何提高工作效率、减少视觉疲劳并提升数据的可读性是不容忽视的问题。而给工作表设置合适的背景是表格优化的一个有效方式。为Excel工作表设置背景色或背景图不仅能够美化工作表&#xff0…

类的动态加载-双亲委派模型

java反射基础 Java 基础 - 反射机制详解 | Java 全栈知识体系 (pdai.tech) 类的动态加载 参考链接&#xff1a;类的动态加载 构造是和实例化也就是对象相关的。 静态代码块是在初始化的时候就调用的 Class.forName();就会调用静态代码块 forName&#xff0c;加载类时默认…