文件系统和日志分析

文件系统

概述

文件是存储在硬盘上的。硬盘上的最小存储单位是扇区,每个扇区的大小是512字节。

inode号:又叫索引号,保存的是元信息(主要有文件的属性 :包括权限,创建者,创建日期等)

block:块,连续的八个扇区组成一个块,一个块的大小是4k。创建一个文件,最小也要占4k。块是文件的最小存储单位。操作系统读取硬盘,是一次性读取多个扇区,一个块一个块的读取数据。

创建文件:第一个是实际占用的空间大小,第二个就是元信息。元信息和实际数据都保存在硬盘上。元信息的inode号一般都是 128字节或者256字节

一个文件必须占用一个inode (只要创建文件必须有一个inode号)  至少占用一个block(空文件,也要占一个块)

时间戳:

atime 读取文件就会更新这个时间

mtime 修改文件数据,更改文件的属性,都会更新这个时间

ctime 修改文件的权限也会更新这个时间

inode号

Linux都是识别文件的inode号 元信息发生了变化,inode号也会随之发生变化

inode号的总数是根据磁盘的大小决定的,磁盘越大inode号越多,磁盘越小inode号越少

总结:由于inode和文件名分离,二者只是映射关系,Linux系统的特有现象:

1.文件名包含特殊字符,rm可能无法正常删除,可以直接删除inode号

2.移动文件,重命名文件 这些inode号是不变的

3.一旦开始对文件操作,后续所有的认证和识别都是通过inode号来的,不再考虑文件名

4.元信息发生变化,inode也会发生变化

如果inode满了, ext4文件系统会发生怎样的变化?

ext4 文件系统中 inode号满了之后就不能继续写入了

如果inode满了, xfs文件系统会发生怎样的变化?

如果inode号占满了xfs文件系统可以继续写入,还能写入128个(每个主机不一样)

      xfs与ext4不同之处:xfs文件系统  inode号占满了 还能继续写入 但是ext4文件系统 inode号占满了之后就不能继续写入了。

备份和恢复

xfs文件系统,如何能实现备份和恢复?

centos7默认使用的文件系统就是xfs

xfsdump 备份 

xfsdump 命令的选项:

-f :指定需要备份的硬盘分区

-L:指定标签

-M:指定设备标签

-s:备份单个文件  -s后面不能直接跟路径

xfsdump使用限制:

1.只能备份xfs的文件系统

2.只能备份已经挂载的文件系统

3.只有root权限才能进行操作

4.备份之后的数据要恢复,只能使用xfsrestore解析恢复

5.如果两个设备的uuid相同,不能备份(这种情况几乎不会有)查看uuid命令 blkid

xfs如何实现备份和恢复:

1.先安装xfsdump

2.创建文件信息 并 查看inode号

查看文件inode号命令 ls -i

3.备份

xfsdump -f  /opt/backup  /dev/sdb2  [-L backup -M sdb2]

-f 执行文件 

/opt/backup  备份的目的地址   必须是个不存在的文件,它还不能是个目录,如果已经存在,必须是个空文件 

/dev/sdb2  需要备份的硬盘分区

-L 指定备份的目的地的文件标签

-M 指定要备份的硬盘分区

备份的级别:全量备份和增量备份

直接回车默认全量备份

4.xfsrestore 恢复

xfsrestore -f /opt/backup /data1/    把backup文件恢复到 data1 

总结:在恢复的后inode号发生变化

ext4备份和恢复:

ext4只能在centos6上用

日志分析

日志的类型

Linux系统本身的日志和大部分的服务器程序的日志都在 /var/log/下

/var/log/messages 记录了Linux的内核信息,各种应用程序的公共日志信息(开、关、重启、网络错误、程序故障都属于公共日志)  但是访问日志和自由业务日志不包含其中。

tail -f  /var/log/messages 查看日志命令

cron:记录的是定时任务的日志

dmesg:引导过程中的日志信息

maillog:记录进入或者发出的系统电子邮件信息

secure:用户认证的相关信息

Linux的日志级别

日志级别:数字越小,优先级越高,消息越重要

0    EMERG 紧急 :会导致主机系统不可以的情况,即系统崩溃 比如磁盘满了

1    ALERT   警告 :必须马上采取措施解决的问题。比如 密码到期,数据库崩溃

2    CRIT      严重:比较严重的情况,比如磁盘读写出现了故障,有些程序的功能无法启动

3    ERR (error)错误 :运行出现错误,比如程序启动失败,端口被占用等等

4    WARNING 提醒 可能会影响功能,需要提醒用户的重要时间,但不是报错,比如磁盘使用率达到了85%

5    NOTICE 注意 ,也是需要用户注意的,但无需处理

6    info 信息 ,一般信息,系统或者应用程序在工作中产生的正常信息

7   debug 调试 ,程序在开发阶段,调试程序时的信息

8  none  没有优先级,不记录任何日志信息

日志级别的定义:

*.info  :*表示所有   . 表示系统当中的设备或者程序  info:包含info以及info级别以上的日志

auth   用户认证产生的信息

daemon  守护后台进程的信息

authpriv:SSh,FTP  登录验证的信息

news  网络传输产生的信息

syslog 系统的相关日志

kern 系统的内核日志

user 用户进程日志

local0-local7  自定义程序的日志 

uucp:unix-to-unix copy 两个linux之间的通信

info格式

mail.info  /var/log/mail.log 记录邮件的信息,包含info和info以上的,记录到/var/log/mail.log

mail.=info  /var/log/mail.log 只记录日志级别是info的信息

mail.!info  /var/log/mail.log 除了info的不记录,其他都记录

mail.info;news.info 或者 mail,news.info 记录邮件和网络传输的信息,包括info和info以上的信息

实验

把ssh的日志单独的列出来,作为一个独立的日志文件

1.关闭防火墙

2.打开系统管理日志

3.ssh配置

4.重启

5.查看日志

配置日志服务器,来进行日志收集,把第一台作为日志收集服务器,把第二台产生的日志都会发送在第一台上,自己不再记录

1.

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

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

相关文章

Renesas MCU之使用e² studio搭建开发环境

目录 概述 1 e studio介绍 2 搭建Renesas MUC开发环境 2.1 软件版本信息 2.2 安装软件 3 创建工程 3.1 板卡硬件接口 3.2 FSP配置IO 4 Generate Project 4.1 项目目录介绍 4.2 LED接口相关驱动 5 调试 5.1 测试代码 5.2 J-Link调试代码 5.3 硬件结构 概述 本文主…

ES6-01-简介

一、什么是ES6? 每年一个版本o(╥﹏╥)o。 二、javaScript新特性的特点 1、语法简洁,功能丰富; 2、框架开发应用。 3、岗位需求! 三、let关键字 3-1、声明变量 let a;let a,b;let e100;let f521, gmilk-love, h[]; 3-2、声明的…

python采集汽车价格数据

python采集汽车价格数据 一、项目简介二、完整代码一、项目简介 本次数据采集的目标是车主之家汽车价格数据,采集的流程包括寻找数据接口、发送请求获取响应、解析数据和持久化存储,先来看一下数据情况,完整代码附后: 二、完整代码 #输入请求页面url #返回html文档 imp…

属性(property)

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 1 创建用于计算的属性 在Python中,可以通过property(装饰器)将一个方法转换为属性,从而实现用于计算…

几种更新 npm 项目依赖的实用方法

引言 在软件开发的过程中,我们知道依赖管理是其中一个至关重要的环节。npm(Node Package Manager) 是 Node.js 的包管理器,它主要用于 Node.js 项目的依赖管理和包发布。随着项目的不断发展,依赖库的版本更新和升级成…

基于Win11下的Wireshark的安装和使用

Wireshark的安装和使用 前言一、Wireshark是什么简介 二、下载Wireshark下载过程查看自己电脑配置 三、安装Wireshark安装过程安装组件创建快捷方式winPacpNpcap 打开检验 四、使用Wireshark实施抓包捕获数据包 五、基于Wireshark使用显示过滤器简介使用方法注意ICMP的请求和应…

目标检测算法综述

1 研究背景 1.1 概述 目标检测是计算机视觉的重要分支,主要任务是在给定的图片中精确找到物体所在位置,并标注出物体的类别,即包含了目标定位与目标分类两部分。在计算机视觉领域中的目标跟踪、图像分割、事件检测、场景理解等的任务都以目标…

Java线程几种常用方法详细说明

在Java编程中,多线程编程是一个非常重要的主题。它允许我们同时运行多个任务,提高程序的性能和响应速度。在这篇博客中,我们将介绍一些常用的Java线程方法和构造器,并通过示例代码展示如何使用它们。 Thread提供的常用方法 publi…

SpringBoot与Spring Framework提供的缓存抽象

目录 缓存 项目总结 新建一个SpringBoot项目 pom.xml application.properties CacheConfig Book BookRepository接口 BookService服务类 BookController控制器 SpringbootCacheApplication启动类 启动项目,使用Postman测试 参考博文: 1、使用…

llvm 3.5 源码分析 clang for x86 001 之搭环境

0,目标 编译 针对x86 的,debug 的 c语言的编译器 1,下载代码 git clone --recursive 。。。llvm-project.git $ cd llvm-project 2,预备代码 llvm 3.5 版本的源代码,早期版本,可能比较小比较容易debug $…

Unity MiniCPM-V 让引擎拥有视觉

Unity MiniCPM-V 让引擎拥有视觉 前言项目Python环境布置Unity场景布置代码编写添加并设置脚本总结 鸣谢AI提示 前言 新发布的MiniCPM-V,忍不住玩一下,可以让之前制作的语音助手拥有一定的视觉能力(不是OpenCV不行,而是AI更加符合…

深入理解Java关系运算符,避免常见错误!

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

复现CELL文章图片,在线绘制scRNA-seq多个cluster的差异火山图

导读 火山图表示两组间的差异,而在scRNA-seq中,同时会有多个cluster(vs其他cluster)的差异。如果用常规火山图展示,可能需要绘制十几个图。有没有更高效的展示方法呢?今天给大家带来CELL文章“A Spatiotem…

打造SimPO新算法,微调8B模型超越Claude 3 Opus

前言 大型语言模型(LLM)近年来取得了巨大进展,但要将其与人类价值观和意图相一致,使其变得有用、诚实和无害,仍然是一个挑战。强化学习从人类反馈中(RLHF)是一种常用的方法,通过微调…

Charles的安装和web端抓包配置

1.Charles的安装 通过官网下载:https://www.charlesproxy.com/download/,我之前下载的是4.6.2版本,下载成功后点击安装包,点击下一步下一步即可安装成功。 ​​ ​ 安装成功后打开charles页面如下所示。 ​ 2.乱码问题解决 打开…

【C++】STL:栈和队列模拟实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

绘画参数配置及使用

绘画参数配置及使用 路径:站点后台-功能-AI绘画 进入参数配置 接口选择:多种接口自主选择(需自己准备key),对应接口的key对话和绘画通用 存储空间: 位置在超管后台-存储空间 自主选择存储(需…

【数据结构与算法】七大排序算法(下)

【数据结构与算法】七大排序算法(下) 🥕个人主页:开敲🍉 🔥所属专栏:数据结构与算法🍅 🌼文章目录🌼 2.3 交换排序 2.3.1 冒泡排序 2.3.2 快速排序 2.3.3 快速排序(非递归) 2.4 归并…

fpga入门 串口定时1秒发送1字节

一、 程序说明 FPGA通过串口定时发送数据,每秒发送1字节,数据不断自增 参考小梅哥教程 二、 uart_tx.v timescale 1ns / 1psmodule uart_tx(input wire sclk,input wire rst_n,output reg uart_tx);parameter …

【Python Cookbook】S01E12 根据字段将记录分组

目录 问题解决方案讨论 问题 如果有一系列的字典或对象实例,我们想根据某个特定的字段来分组迭代数据。 解决方案 假设有如下字典列表: rows [{address: 5412 N CLARK, date: 07/01/2012},{address: 5148 N CLARK, date: 07/04/2012},{address: 580…