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

目录

一、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.mfbz.cn/a/770960.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决pip默认安装位置在C盘方法

新版python中使用pip命令将opencv库安装到base环境中 首先我们打开命令控制窗口,激活base环境,输入conda activate base 然后检查一下自己base环境中是否安装opencv库,输入conda list 往下找,找到o开头的地方,发现是…

【HTML入门】第一课 - 网页标签框架

这一节,我们说一下学习前端开发的话,最入门的也是非常重要的一门可成,也就是HTML。HTML标签,是网页的重要组成部分,可以说,你看到网页上的内容,都是基于HTML标签呈现出来的。 这一小节呢&#…

怎么录制电脑内部声音?好用的录音软件分享,看这篇就够了!

如何录制电脑内部声音?平时使用电脑工作,难免会遇到需要录音的情况。好用的录音软件有很多,也有部分录屏工具也支持录音功能。 那么如何录制电脑内部声音呢?本文整理了几个录制电脑内部声音的方法,如果你需要在电脑上录…

nacos开启鉴权后,springboot注册失败

1.确认Nacos版本 我的Nacos版本是1.4.2 2.确认Nacos相关依赖的版本之间兼容&#xff0c;一下是我的一些pom.xml依赖 <!--父级项目的--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifa…

推荐一个私有化部署的物联网平台

引言 随着物联网技术的飞速发展&#xff0c;越来越多的企业开始寻求能够提供稳定、安全、可定制的物联网解决方案。私有化部署的物联网平台因其能够满足企业对数据安全和个性化需求的优势&#xff0c;逐渐成为市场的新宠。本文将详细介绍ThingsKit物联网平台&#xff0c;一个专…

微软发布了Win11 24H2版本的首个设置动态更新和恢复!

系统之家于7月3日发出最新报道&#xff0c;微软针对Win11 24H2版本发布了首个设置动态更新(Setup Dynamic Update)KB5039448。此次更新主要改进了Win11 24H2的安装文件以及用户在升级、安装到24H2版本过程中可能会使用到的所有文件。 系统之家附上 Windows 11 24H2 的完整发布时…

刷代码随想录有感(125):动态规划——最长公共子序列

题干&#xff1a; 代码&#xff1a; class Solution { public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>>dp(text1.size() 1, vector<int>(text2.size() 1, 0));for(int i 1; i < text1.size(); i){for(int j …

AGI 之 【Hugging Face】 的【Transformer】的 [ Transformer 架构 ] / [ 编码器 ]的简单整理

AGI 之 【Hugging Face】 的【Transformer】的 [ Transformer 架构 ] / [ 编码器 ]的简单整理 目录 AGI 之 【Hugging Face】 的【Transformer】的 [ Transformer 架构 ] / [ 编码器 ]的简单整理 一、简单介绍 二、Transformer 三、Transformer架构 四、编码器 1、自注意…

PyCharm社区版Cython支持

自己在文件类型中加一个&#xff0c;名称叫【pythonC】 &#xff0c;文件名模式这一栏要加*.pyx的后缀&#xff0c;之后双击【pythonC】编辑这个文件类型 这里1、2、3、4配置如下 # 1 " # &*, - / : ; <>[ ] { }# 2 False None True and as assert break cdef …

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

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

FreeRTOS学习 -- 软件定时器

一、软件定时器简介 1、软件定时器概述 软件定时器允许设置一段时间&#xff0c;当设置的时间到达之后就执行指定的功能函数&#xff0c;被定时器调用的这个功能函数叫做定时器的回调函数。回调函数的两次执行间隔叫做定时器的定时周期。 简而言之&#xff0c;当定时器的定时…

Postman接口测试工具详解【保姆级教程】

大家好,我是CodeQi! 在我们日常的开发工作中,无论是前端还是后端,API 接口的测试都是必不可少的一环。 你有没有遇到过这样的情况:接口测试工具复杂难用,使用起来让人抓狂;或者手动构造请求效率低下,容易出错? 别担心,我今天要介绍的 Postman 工具,将会彻底改变你…

某业帮六月校招后端笔试

题目一 解题思路 签到题&#xff0c;dp就行。 题目二 解题思路 这个比较烦人&#xff0c;需要处理额外的引号和括号。用DFS&#xff0c;对于每个间隙&#xff0c;插入与不插入都搜一遍。 题目三 解题思路&#xff1a; 双指针&#xff0c;左右各一个指针&#xff0c;对比长度&…

一文解开关于UWB定位技术的认识误区

作为一项新兴技术产业&#xff0c;UWB定位技术具有无限发展潜力。尤其是在TB行业应用中&#xff0c;UWB定位部分在项目的产值占比为10%-20%之间&#xff0c;这便意味着&#xff0c;UWB定位市场可以撬动其本身市场产值的5-10倍。 然而&#xff0c;伴随着UWB定位技术的迅速发展&a…

MySQL数据库增删改查示例

一、 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo 二、创建俩张表 先创建一个数据库并使用&#xff1a; 创建员工表 创建员工绩效表 三、修改表 1.在员工表的基本上增加一个image系列&a…

如何使用小红书矩阵系统:提升内容管理与发布的指南

小红书作为一个集社区分享与电商功能于一体的平台&#xff0c;吸引了大量的用户和创作者。随着内容创作和账号管理的复杂性增加&#xff0c;小红书矩阵系统成为了一个强大的工具&#xff0c;帮助用户提高效率和扩大影响力。本文将详细介绍如何使用小红书矩阵系统&#xff0c;以…

用StartAI文生图做电商设计 AI服装面料设计教程

AI电商设计需要考虑以下多个问题&#xff0c;面面俱到即可小成本做电商 步骤&#xff1a;电商选品确定文生图关键 理解面料特性&#xff1a;了解不同面料的特性&#xff0c;如透气性、弹性、耐用性等&#xff0c;以便更好地利用AI进行设计。色彩搭配&#xff1a;利用AI分析流…

Ubuntu离线安装vsftpd

1.使用lsb_release -a命令查看当前系统的版本信息 2. 使用联网计算机下载对应系统版本的deb安装包 https://pkgs.org/download/vsftpd 3.安装 dpkg -i vsftpd_3.0.5-0ubuntu1_amd64.deb 没有安装dpkg的请到我博客查看&#xff0c;链接如下&#xff1a; Ubuntu20.04离线安装…

免费的鼠标连点器哪个好用?5款2024年最新鼠标连点器分享

鼠标连点器是电脑网络游戏爱好者并不陌生的游戏辅助工具&#xff0c;他在FPS、RTS、moba等游戏种类中发挥着重要作用。可以帮助玩家的鼠标完成各种简单点击动作。轻松实现游戏刷机升级。让你游戏升级不再“肝”&#xff0c;轻松刷图升级&#xff0c;秒表大佬不是梦&#xff01;…

经营人心:Mrs. B的百年传奇

这个故事的主角是Rose Blumkin&#xff0c;也被称为Mrs. B&#xff0c;她是Nebraska Furniture Mart的创始人。 她的故事确实是一个关于用户思维、客户关系和创业精神的经典案例。 Rose Blumkin于1893年出生在俄罗斯的一个小村庄&#xff0c;她在1921年移民到美国。 1937年&…