文件系统和日志管理
一、文件系统
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…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
