• 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当前时间

  • 相关阅读:
    python random模块
    PAMIE- Python实现IE自动化的模块
    python 教程 第一章、 简介
    python 教程 第三章、 运算符与表达式
    python 教程 第四章、 控制流
    python 教程 第五章、 函数
    python 教程 第六章、 模块
    python 教程 第七章、 数据结构
    职业生涯2
    Nginx 报错: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) 的解决方法
  • 原文地址:https://www.cnblogs.com/maoyanqing/p/11349975.html
Copyright © 2020-2023  润新知