linux日志文件系统


一、inode与block

1、inode表结构

每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data)

元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个

文件的元数据信息。

每一个inode表记录对应的保存了以下信息:

  • inode number 节点号
  • 文件类型
  • 权限
  • UID
  • GID
  • 链接数(指向这个文件名路径名称个数)
  • 该文件的大小和不同的时间戳
  • 指向磁盘上文件的数据块指针
  • 有关文件的其他数据

如何查看inode号

ls -i
stat

有3个时间:
最近访问atime:查看文件的时间
最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变
最近改动ctime:最近更改文件元信息的时间,比如改变权限等
  • 文件存储在硬盘上,硬盘的最小存储单位叫做"扇区" ( sector )每个扇区存储512字节。

  • 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块。

  • 文件数据存储在"块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode(索引节点),也叫i节点。因此,一个文件必须占用一个inode ,至少占用一个block。

2、inode的内容

可以用stat命令,查看某个文件的inode信息
在这里插入图片描述
linux文件系统的三个时间戳

  • ctime(change time):最后一次改变文件或目录的时间

  • atime(access time):是最近一次访问文件或目录的时间

  • mtime(modify time):是最后一次修改文件或目录(内容)的时间

目录

inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。
目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系。
文件引用一个是 inode号,是通过文件名来引用一个文件。一个目录是目录下的文件名和文件inode号之间的映射

文件是如何找到实际数据的?

linux 通过文件夹中会有一张 文件名和inode一一对应关系的表 (名字) 去找inode号 inode指向对应的实际数据。

  • 用户访问文件时 先去查找 自己 文件夹中的目录项

  • 文件名和inode之间对应的关系

  • 通过 inode号利用指针 去指向 实际数据


3、硬链接与软链接

创建格式:
ln [-s] 源文件或目录…链接文件或目标位置(加-s为软连接,不加为硬链接)

对比项硬连接软连接
本质本质是同一个文件本质不是同一个文件
inode相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除新建不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同源文件的路径的长度

二、分析日志文件

内核及系统日志由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf

Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下

日志的功能:
    1、用于记录系统、程序运行中发生的各种事件
    2、通过阅读日志,有助于诊断和解决系统故障

1、日志文件的位置

日志文件位置日志文件说明
/var/log/messages内核和公共日志它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。
/var/log/cron 计划任务日志记录与系统定时任务相关的曰志
/var/log/dmesg 系统引导日志记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/maillog 邮件日志记录邮件信息的曰志
/var/log/lastlog记录系统中所有用户最后一次的登录时间的曰志。
/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录
/var/log/wtmp永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。
/var/tun/ulmp记录当前已经登录的用户的信息。

2、日志文件的分类

  • 内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置

  • 用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登 录的终端、登录时间、来源主机、正在使用的进程操作等

  • 程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息

3、常见的日志文件

  • 内核及公共消息日志 : /var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误、程序故障等。 对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
    在这里插入图片描述- 计划任务日志
    /var/log/ cron : 记录crond计划任务产生的事件信息。
    在这里插入图片描述

  • 系统引导日志
    /var/ log/ dmesg: 记录Linux系统在引导过程中的各种事件信息。

  • 邮件系统日志
    /var/log/maillog:记录进入或发出系统的电子邮件活动。

  • 用户登录日志

  • /var/log/secure: 记录用户认证相关的安全事件信息。

  • /var/log/lastlog: 记录每个用户最近的登录事件。二进制格式

  • /var/log/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式

  • /var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式

4、日志文件分析

[root@localhost mnt]# cat /etc/rsyslog.conf 
查看/etc/rsyslog.conf配置文件
* . info;mail.none;authpriv.none;cron.none  /var/log/messages
​
*.info          #表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none       #表示某事件的信息不写到日志文件里(这里比如是邮件)
  • Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)
数字等级消息级别描述信息
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件
5NOTICE注意不会影响正常功能,但是需要注意的事件
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

5、日志管理

  • 及时做好备份和归档

  • 延长日志保存期限

  • 控制日志访问权限
    如日志中可能会包含各类敏感信息,如账户和口令等

集中管理日志:

  • 将服务器的日志文件发到统一-的日志文件服务器

  • 便于日志信息的统- -收集、 整理和分析

  • 杜绝日志信息的意外丢失、恶意篡改或删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值