Linux系统管理12-Linux文件系统与日志

Posted l1-5551

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统管理12-Linux文件系统与日志相关的知识,希望对你有一定的参考价值。

一深入理解Linx文件系统-inode与block

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

inode:记录文件的属性,一个文件占用一个inode,同时记录了文件数据所在的block号码。

block:记录了文件的内容,若文件太大会占用多个bolck块。一般大小为1k、2k、4k。

inode的特殊作用
由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。
  1. 有时,文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除文件的作用。
  2. 移动文件或重命名文件,只是改变文件名,不影响inode号码。
  3. 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名。
      第3点使得软件更新变得简单,可以在不关闭软件的情况下进行更新,不需要重启。因为系统通过inode号码,识别运行中的文件,不通过文件名。更新的时候,新版文件以同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件的时候,文件名就自动指向新版文件,旧版文件的inode则被回收

英文

别称

中文翻译

何时修改

查看命令

Access

Atime

访问时间

读取。写入

Ls   -lu

Modify

Mtime

修改时间

写入。修改

Ls  -l

Change/Create

Ctime

改变时间/创建时间

修改文件名。写入。修改。改权限。做链接

Ls  -lc

重要  查找/tmp目录下三天内修改的文件,并移动到/opt下

find  /tmp  -type f  -a  -mtime  -3 -exec  mv    /opt  \;     (+3是三天内 ,-3是3天前)

(2)查看文件的inode号码

ls   -i  文件名

stat  文件名

5. 删除指定inode号所对应的的文件

find  ./  -inum  inode号  -exec  rm  -i    \;

6.查看文件系统的inode与block 的信息

df  -i  设备名 (只能查挂载的文件的系统)

dumpe2fs  -h  设备名(文件系统无需挂载)

tune2fs  -l  设备名  (文件系统无需挂载)

7 。格式化时指定文件系统的inode个数与block大小

方法: mkfs.ext4  -N  inode数  -b块大小(单位字节,一般情况是4k  但是可以改变大小,不过一般情况下可以省略)    设备名

8解决inode耗尽导致的磁盘故障

<1  删除不使用的文件

< 2  将文件备份,重新格式化此文件系统,指定较多的inode个数

 

二  深入理解Linux  文件系统---链接

1 硬链接 

方法: ln   源文件   目标文件

特点:指定的目标文件与源文件inode相同,但是不可针对目录进行硬链接,必须在同一文件系统内。删除一个文件名,不影响另外一个的访问

2 软链接 

方法 : ln  -s  源文件或目录  目标文件或目录

特点:软链接指向文件名,新生成的软链接的inode号与源文件不同,目录也可以生成软链接,软链接文件与源文件可以不再同一文件系统内,软链接文件的内容是源文件的路径,读取时系统会自动导向源文件,但是当源文件移动或重名时,软链接报错

三 恢复误删除的文件  (CentOS 7没有此功能 ,CentOS 6 还有此功能)

四 分析日志文件

1.日志文件的分类

(1)内核及系统日志  #最终要的日志文件

(2)用户日志

(3)程序日志

2 日志文件所在的位置

日志文件

存放内容

查看命令

/var/log/messages

内核消息及各种应用程序的公共日志信息,包括启动。I/O错误。网络错误。程序故障等

Cat等

/var/log/lastlog

每个用户最近的登录事件

Last  lastlog

/var/log/secure

用户认证相关的安全时间信息

Cat等

/var/log/wtmp

每个用户登录、注销及系统启动和停机事件

Users、who、w、

/var/log/btmp

失败的、错误的登录尝试及验证事件

lastb

file  查看文件类型

5 。日志消息的级别

级别

英文表示及翻译

意义

0

EMERG(紧急)

导致主机不可用

1

ALERT(警告)

必须马上采取措施解决

2

CRIT(严重)

比较严重的情况

3

ERR(错误)

运行出现错误

命令   :  last :查询成功登陆到系统的用户记录,最近的登录情况在最前面

-a  :从何处登录系统的主机名称或IP地址,显示在最后一行

-n: 表示最近n次登录的记录

lastlog 命令 :用于显示系统所有用户最近一次登录信息

lastb  命令 :用于显示用户错误的登录列表,此指令可以发现系统的登录异常

(3)程序日志

存放位置:不固定

7  对于日志文件的保护

chattr   +a  日志文件

chattr   +a  -R  递归增加a权限

8  日志管理

<1   针对日志,定期备份,异地备份(保留1-3日的日志记录)

<2   针对权限要严格(防止敏感信息泄露),针对日志做集中管理

<3  针对日志定期切割  mv  /var/log/messages/   /var/log/messages-$(date -d "-1  days"+%F)  前一天

date + %F当前时间

以上是关于Linux系统管理12-Linux文件系统与日志的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础-12day-Linux系统软件管理

2018-3-14Linux系统管理(12) Linux程序包管理yum前端管理工具

Notes12Linux开发环境,Linux命令

(0基础学Linux系列)2.12 Linux软件包管理

12.LInux磁盘,系统文件概念《Mr.Robot》

12 Linux的伙伴系统和SLAB分配器