文件系统和日志管理
一、文件系统
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…...

HarmonyOS使用arkTS拉起指定第三方应用程序
HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用,需要用到两个必备的参数bundleName,abilityName,本篇就介绍如何获取参数… 代码及说明 bundle…...

flex安装学习笔记
https://zhuanlan.zhihu.com/p/2783726096 3.下载 Flux 模型 FLUX.1 [dev] :官方版本满配版,最低显存要求 24G;FLUX.1 [dev] fp8:大佬优化 [dev] 后版本,建议选择此版本,最低 12G 显存可跑;FLU…...

09-结构化搜索、搜索的相关性算分
term 查询执行精确值匹配,要求文档中的字段值与指定的词项完全相等。对于日期字段等精确值字段,通常使用 term 查询可以快速有效地匹配文档。match 查询执行全文搜索,会对输入的文本进行分析,生成查询词项,并试图找到与…...

手机屏幕上进行OCR识别方案
在手机屏幕上进行OCR识别,可以通过一些主流方案实现高效、准确的文本识别。以下是几种常见方案: 1. 使用 Tesseract OCR 原理:Tesseract 是一个开源的 OCR 引擎,支持多种语言。可以通过一些优化提升其对手机屏幕文本的识别效果。…...

遗传算法与深度学习实战(22)——使用Numpy构建神经网络
遗传算法与深度学习实战(22)——使用Numpy构建神经网络 0. 前言1. 神经网络基础1.1 简单神经网络的架构1.2 神经网络的训练 2. 使用 Numpy 构建神经网络2.1 网络架构2.2 实现神经网络 小结系列链接 0. 前言 我们已经学习了如何使用进化算法来优化深度学…...

react->Antd->Table调整checkbox默认样式
checkbox默认不展示,hover此行时,出现checkbox,选中后不消失: hover前,设置透明边框; hover时,checkbox出现 选中后 代码块: .ant-checkbox {.ant-checkbox-inner {border: transparent;}}.ant…...

一种ESB的设计
系统架构 ESB包括: ESB总控服务、业务应用集群、业务消息WEB服务、业务消息日志服务、运维管理平台、业务设计器。如下图所示 ESB总控服务 ESB总控服务承载了各项业务的运维和管理。主要包括: 业务流程的管理ESB内部不同模块间的通讯ESB系统设置和管理…...

上位机常用通信方式
1. 串口通信:RS232(设备和PC之间,最常用,短距离)、RS485(工业现场总线,长距离,多点通信) 2. 以太网通信:TCP/IP协议 3. CAN总线通信 4. Modbus协议࿱…...

Vue3中使用LogicFlow实现简单流程图
实现结果 实现功能: 拖拽创建节点自定义节点/边自定义快捷键人员选择弹窗右侧动态配置组件配置项获取/回显必填项验证 自定义节点与拖拽创建节点 拖拽节点面板node-panel.vue <template><div class"node-panel"><divv-for"(item, k…...

《重学Java设计模式》之 工厂方法模式
《重学Java设计模式》之 建造者模式 《重学Java设计模式》之 原型模式 《重学Java设计模式》之 单例模式 模拟发奖多种商品 工程结构 奖品发放接口 package com.yys.mes.design.factory.store;public interface ICommodity {/*** Author Sherry* Date 14:20 2024/11/6**/voi…...