文件系统和日志管理
一、文件系统
1.概述
文件系统:文件系统提供了一个接口,用户用来访问硬件设备(硬盘)。硬件设备上对文件的管理。文件存储在硬盘上,硬盘最小的存储单位是512字节(扇区)。文件在硬盘上的最小存储单位:块(block) 一个块的大小是4k,一个块就是连续的8个扇区。
2.存储文件的方式
-
实际数据
文件内部的数据保存在硬盘上
-
元信息
文件的所有者、所在组、最后一次修改时间、文件的大小、文件的权限等。
存储元信息的标识:inode号
inode:不包含文件名,每个文件(目录)创建时都会分配一个全局(当前设备)唯一的识别码。
识别码inode,当一个文件被删除之后,inode号也会回收,供下一个文件继续使用。
df -i #查看挂载点inode号使用的情况
硬盘的空间越大,可用的inode号越多
文件无法被创建的原因
磁盘损坏;磁盘配额限制;inode号用尽
ext4文件系统 用完了inode号,文件不能再创建
xfs文件系统 inode号用尽,还可以创建文件(有限)
inode号和文件名分离,使得linux操作系统会出现以下几个现象:
- 文件名包含特殊字符可能无法正常删除(rm -rf),只能通过inode号进行删除
- 剪切或者重命名文件,inode号不会发生变化
- 当用户对文件进行操作时,系统以inode号来识别,不以文件名
- 文件的数据发生变化,文件的权限发生变化,inode号可能发生改变
3.xfs文件系统的备份和恢复
在ubuntu上操作:
#安装依赖环境
apt -y install xfsdump
apt -y install xfsprogs
先备份再恢复
xfsdump 备份
备份级别:0 和 1-9
0 表示全量备份,xfsdump默认备份级别为0
1-9 表示增量备份
xfsdump的常用选项:
-f 指定备份文件的目录
-L 指定标签
-M 指定设备标签
-s 备份单个文件(一般不使用)
xfsrestore 恢复
-f 指定从哪个文件进行恢复
xfs备份恢复的注意点:
1、只有root权限才能备份和恢复
2、备份的目录必须是已挂载的设备
3、挂载的设备必须是xfs文件系统
4、恢复数据必须使用xfsrestore进行解析恢复


二、日志系统
1.概述
日志:记录系统或者应用运行期间”所有信息“的文档。记录了一些必要的信息,关键的信息。
信息的意义:
- 判断系统或者程序是否正常运行
- 记录了故障的信息,告诉我们是什么原因产生的故障
2.日志的种类
系统日志
基本操作系统控制,产生的日志信息
ubuntu /var/log/syslog
centos /var/log/messages
常见的系统日志文件
/var/log/syslog 记录了linux系统的内核消息以及各种应用的公共日志信息(系统控制产生的消息),包括启动、IO错误、网络错误、程序的故障
/var/log/cron 记录的定时任务产生的信息
/ver/log/secure 用户登录系统认证的相关信息
/var/log/maillog 记录的电子邮件的信息

Nov 7 16:33:23 日志产生的时间
ubuntu1 主机名
systemd[1] systemd设备字段 [1]运行的pid号 systemd这个程序是系统当中的第一个进程,systemd是所有进程的父进程
apt-daily.service: Deactivated successfully 日志的内容
应用服务日志
- 一般的应用安装完成之后,/var/log/服务的名称,记录的就是使用这个程序过程中产生的信息,不会记录到系统的日志中去
- 自定义位置,修改应用的配置文件,可以自定义服务的日志路径
- 日志的位置就在应用的安装目录 logs目录
基本上90%的应用日志的目录都是logs,都是以.log为结尾的文件

192.168.206.1 电脑主机,谁访问了nginx的服务
[07/Nov/2024:16:48:28 +0800] 访问nginx的时间
"GET / HTTP/1.1" GET 访问nginx的方式 / 访问的路径 HTTP/1.1 访问使用的协议
200 是服务器响应的状态码。396 服务器返回了396字节的数据。
"Mozilla/5.0 .......Edg/130.0.0.0" 具体信息:由安装了Edge浏览器的Windows 10系统发出请求。具体版本是Chrome/130.0.0.0和Edg/130.0.0.0
3.设备的字段
| 设备字段 | 说明 |
| auth | 用户认证的日志 |
| systemd | 系统管理程序的日志 |
| cron | 定时任务的信息 |
| 邮件的信息 | |
| kern | 系统内核的信息 |
| local | 自定义需要保存的日志,0-7都可以适用。对应的程序设置的local等级要一致 |
实验:ssh服务单独存放
rsyslog #linux系统管理系统日志的工具
vim /etc/rsyslog.conf #管理系统日志的配置文件
local6.* /var/log/ssh.log
vim /etc/ssh/sshd_config
SyslogFacility LOCAL6 #定义设备的名称,必须大写
#只要修改了应用的配置,想要配置生效,必须重启该应用
systemctl restart rsyslog
systemctl restart sshd

4.日志的级别
0-7 数字越小,优先级越高,消息越重要
| 级别 | 说明 |
| 0 emerg | 紧急,系统/应用不可用,系统/应用崩溃的重要消息 |
| 1 alert | 警告,必须马上采取措施的信息,比如磁盘快满了、数据库被破坏 |
| 2 crit | 严重,程序的功能丧失,程序无法正常使用 |
| 3 error | 错误,运行出现了错误,需要尽快修复(看情况) |
| 4 warning | 提醒,可能影响,但是不重要,只是提醒用户,不属于报错的范围 |
| 5 notice | 注意,不影响正常功能,但是需要注意的时间,无需处理 |
| 6 info | 信息,一般信息,正常运行的信息 |
| 7 debug | 调试,开发人员调试程序是产生的信息 |
| none | 没有优先级,不记录任何日志的消息 |
#以上的优先级,可以用户自定义日志的级别,以获取我们想要的内容
*.*
左边:应用名称 右边:日志级别
mail.info /var/log/mail.log 收集邮件的信息,包含info 以及info以上级别的信息
mail.=info /var/log/mail.log 收集邮件的信息,只收集info级别的日志
mail.!info 除了info级别的信息,其他的都收集
*.info /var/log/syslog *表示所有的程序(应用服务内核)
mail.* *表示所有级别的日志都收集
*.info;mail.none;nginx.=error /var/log/syslog (多个用;分开)
所有的程序的一般及一般以上和邮件的日志不记录和nginx只记录error的日志,保存到/var/log/syslog
5.journalctl 系统日志管理工具
journalctl -u 应用名称 #只看某个应用
journalctl _PID=数字 #查看该进程号的信息
查看指定用户的日志:
journalctl _UID=数字 --since today #指定用户今天的日志
journalctl _UID=数字 --since yesterday #指定用户昨天产生的日志
journalctl -xe 查看系统中systemd的日志
相关文章:
文件系统和日志管理
一、文件系统 1.概述 文件系统:文件系统提供了一个接口,用户用来访问硬件设备(硬盘)。硬件设备上对文件的管理。文件存储在硬盘上,硬盘最小的存储单位是512字节(扇区)。文件在硬盘上的最小存储…...
【LeetCode】【算法】208. 实现 Trie (前缀树)
LeetCode 208. 实现 Trie (前缀树) 题目描述 Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 请你实现 Trie 类&…...
libaom 源码分析:帧间运动矢量预测
AV1 帧间运动矢量预测原理 运动矢量可以被相邻块预测,这些相邻块可以是空域相邻块,或位于参考帧中的时域相邻块;通过检查所有这些块,将确定一组运动矢量预测器,并用于编码运动矢量信息。空域运动矢量预测 两组空域相邻块可以被利用寻找空域 MV 预测器,第一组包括当前块的…...
Android TextView自动换行文本显示不全解决
某些情况下,TextView自动换行后,会出现每行结尾处显示不全的问题, 如图: 常见解决方案: 设置TextView的“ellipsize”属性为“end” 实测无效!将TextView外部的Layout改为RelativeLayout 实测无效&…...
【LeetCode】【算法】394. 字符串解码
LeetCode 394. 字符串解码 题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字…...
最新整理:Selenium自动化测试面试题
1.selenium中如何判断元素是否存在? find_elements查找到的元素个数为0,find_element报错意味着元素不存在 2.如何判断元素是否出现? 判断元素是否出现,存在两种情况,一种是该元素压根就没有,自然不会出现;另外一种是有这样的…...
外包干了2年,快要废了。。。
先说一下自己的情况,普通本科,在外包干了2年多的功能测试,这几年因为大环境不好,我整个人心惊胆战的,怕自己卷铺盖走人了,我感觉自己不能够在这样蹉跎下去了,长时间呆在一个舒适的环境真的会让一…...
乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列
账单信息 司机结束代驾之后,生成账单(包含账单信息和分账信息)司机发送账单给乘客乘客获取账单之后,进行支付 获取账单信息 order_bill表记录的账单信息,我们直接获取即可 Operation(summary "根据订单id获取…...
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,静态路由,环回,缺省,空接口,NAT
学习目标: 链路聚合VLAN间通讯Super VLANMSTPVRRPip配置,静态路由,环回,缺省,空接口NAT 学习内容: 实验拓扑实验需求实验需求分析实验配置内容 (每一个设备的每一步操作)实验结果验证 1.实验拓扑 搭建 …...
Apple提出MM1.5:多模态大型语言模型微调的方法、分析和见解_mm1.5 模型下载
摘要 我们介绍了 MM1.5,一个新的多模态大型语言模型 (MLLM) 家族,旨在增强在富文本图像理解、视觉参照和定位以及多图像推理方面的能力。 在 MM1 架构的基础上,MM1.5 采用以数据为中心的模型训练方法,系统地探索了整个模型训练生…...
【毫米波雷达(三)】汽车控制器启动流程——BootLoader
汽车控制器启动流程——BootLoader 一、什么是Bootloader(BT)?二、FBL、PBL、SBL、ESS的区别三、MCU的 A/B分区的实现 一、什么是Bootloader(BT)? BT就是一段程序,一段引导程序。它包含了启动代码、中断、主程序等。 雷达启动需要由BT跳转到…...
AI 搜索来势汹汹,互联网将被颠覆还是进化?
最近,美国新闻集团起诉了知名 AI 搜索引擎 Perplexity AI。也许你会想,这不就是又一起“AI 惹官司”吗?其实,这次情况不太一样,甚至可能会改变我们未来上网的方式! 争议的焦点是什么?是未来的 …...
《二分查找算法:在有序数组中搜索目标值》
目录 一、问题分析 二、二分查找算法原理 三、代码实现 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,我们要写一个函数来搜索 nums 中的 target,如果目标值存在就返回它的下标,否则返回 -1。 …...
【万字总结】数据结构常考应用大题做法画法详解_树_哈希表_图_排序大总结
文章目录 1.树相关应用大题1.1 已知二叉树的中序序列和前序or中序,画出二叉树1.2 二叉树的遍历、树的遍历、森林的遍历总结1.3二叉树与森林之间的转换1.3.1 已知树的先序序列和中序序列,画出森林 1.4 二叉树的线索化1.5 二叉排序树1.5.1 二叉排序树的删除…...
Docker + Jenkins + gitee 实现CICD环境搭建
目录 前言 关于Jenkins 安装Jenkins docker中运行Jenkins注意事项 通过容器中的Jenkins,把服务打包到docker进行部署 启动Jenkins 创建第一个任务 前言 CI/CD(持续集成和持续交付/持续部署),它可以实现自动化的构建、测试和部署…...
rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
在使用RabbitMQ时,保证消息不丢失以及处理消费者未接收到消息的情况可以通过以下几个方法: 1. 确保消息的持久化 队列持久化:在声明队列时将其设置为持久化(durabletrue),这样RabbitMQ在重启后也会保留队…...
商务数据分析在提升客户体验方面的作用体现在哪些环节
在当今竞争激烈的商业环境中,客户体验已成为企业成功的关键因素。商务数据分析犹如一把神奇的钥匙,在提升客户体验的征程中发挥着至关重要的作用,贯穿于多个环节。 一、客户需求分析:洞察客户内心的窗口 客户需求分析是商务数据…...
cooladmin使用整理
1、后端关键字自动生成没有代码段提示,原因是拉取的项目代码中没有.vscode文件夹,复制一套至项目src同级即可 2、前端快速创建,在Entity完成后就去快速创建中选数据结构,这时没有对应的内容,数据结构是和controller层a…...
CentOS 7 更换软件仓库
CentOS 7 于2024年6月30日停止维护,官方仓库已经没有软件了,想要继续使用 ,需要更换软件仓库,这里更换到阿里云的软件仓库 https://developer.aliyun.com/mirror/ 查看目前可用的软件数量 yum repolist 更换软件仓库:…...
现代Web开发:React Hooks深入解析
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:React Hooks深入解析 现代Web开发:React Hooks深入解析 现代Web开发:React Hook…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
